cmputernetwork

Комп'ютерні мережі та розподілені системи

4. Основи Ethernet <– Лекції –> 5. Мережний рівень та маршрутизація

4. Основи Ethernet

4.1. Загальні поняття

Ethernet – сімейство стандартизованих технологій пакетної передачі даних для комп’ютерних мереж (започаткований в 70-х, перший стандарт у 1980)

Технологія і перші стандарти Ethernet були розроблені компанією Xerox Corporation. Пізніше група компаній DEC, Intel і Xerox сумісно розробили стандарт під назвою DIX, який явився другою версією свого попередника (Ethernet ІІ). Ще через деякий час подібний стандарт був розроблений інститутом IEEE (Інститут інженерів з електротехніки і радіоелектроніки), який є законодавцем в області стандартів на локальні комп’ютерні мережі. Цей стандарт називається IEEE 802.3 і має деякі відмінності у формуванні кадру порівняно з форматом Ethernet ІІ. На сьогоднішній день мережними картами Ethernet як правило підтримуються обидва стандарти. В якості доступу до шини використовується метод CSMA/CD, який розглянутий в попередній лекції, але наразі в комутованому Ethernet він не використовується. Для адресації вузлів в мережі використовується 48-бітний (6 байт) ідентифікатор, який називається МАС-адресою.

IEEE використовує відмінну від ISO OSI ієрархічну мережну модель. Тому канальний рівень OSI представлений підрівнями LLC та MAC. MAC-рівень описаний в IEEE 802.3, а LLC в IEEE 802.2. Архітектура Ethernet показана на рис.4.1.

img

Рис.4.1. Стандарти нижніх рівнів мереж Ethernet

4.2. Підключення

На фізичному рівні Ethernet дозволяє використовувати різноманітні середовища передачі даних для кожної з яких є стандартна назва виду XBaseY, де X - бітова швидкість в Мбіт/с (10,100,1000…), Base – ключове слово (позначає немодульовану передачу), Y – умовне позначення середовища передачі і дальності зв’язку. Раніше як правило використовувався коаксіальний кабель та шинна топологія, однак в сучасних реалізаціях Ethernet частіше всього зустрічається кабель типу “вита пара” або оптоволоконний і топологія типу “зірка”, інколи використовується з’єднання типу точка-точка. У центрі зірки може бути концентратор (хаб – hub, наразі практично не використовується) або комутатор (switch). В табл.4.1 показані стандарти мереж Ethernet на фізичному рівні.

Таблиця 4.1 Стандарти мережі Ethernet

img

При використання витої пари пристрої підключають через роз’єми типу RJ-45. На пристроях використовують вилки, а на кабелях – розетки. Призначення контактів роз’єму мережного адаптеру (порт типу MDI) показане в табл. 4.2. Під’єднання в мережу вузлів проводиться за допомогою спеціальних пристроїв – концентраторів та комутаторів.

img

Рис.4.2. Призначення контактів роз’єму RJ-45.

image-20220926160306005

Рис.4.3 Зовнішній вигляд зачищеного “хвоста” кабелю.

Для створення з’єднання необхідної довжини відрізають кабель необхідної довжини і обжимають його з двох боків роз’ємами з використанням спеціальних інструментів. Після обжимання необхідно перевірити якість з використанням спеціальних інструментів.

image-20220926160805761

рис.4.4. Інструмент для обжимання кабелю (ліворуч) та набір різноманітних інструментів для обжимання та тестування.

Для розуміння правил підключення розглянемо схему на базі 10BaseT, в якій показано порти пристроїв з точки зору приймачів та передавачів. У цьому типі мережі використовується тільки дві пари провідників які з’єднують між собою передавач одного пристрою та приймач іншого та навпаки. Кожен передавач підключається двома проводами до приймача іншого пристрою. Тому, якщо два пристрої підключаються безпосередньо (без комутатора та концентратора) їх треба з’єднувати навхрест.

image-20220926161945255

рис.4.5. Спрощена схема безпосереднього з’єднання портів пристроїв в Ethernet 10BaseT.

Порти концентраторів мають тип MDIX, в яких сигнали Rx та Tx поміняні місцями.

image-20220926171509337

рис.4.5.а. Спрощена схема з’єднання портів пристроїв в Ethernet 10BaseT через комутатори або коцентратори.

Таким чином, при підключені пристрою з MDI (мережна карта) до MDIX (концентратор/комутатор) використовується “прямий кабель” (рис.4.6.а), а при безпосередньому підключенні двох MDI – “перехресний кабель” (рис.4.6б).

img

Рис.4.6. Схеми підключень пристроїв мережі Ethernet

Схема “прямого” та “перехресного” кабелю показана на рис.4.7 (a – пряме, б – перехресне).

img

Рис.4.7. Схема “прямого” та “перехресного” кабелю

При 4-х провідному підключенні дві інші пари можуть не використовуватися. Є мережі які використовують їх для інших цілей. Наприклад PoE (Power over Ethernet) використовує їх для передачі живлення.

Для Fast Ethernet 100BaseTX також використовується 4-х провідне підключення (див. таблицю з рис.4.2). А от в 100BaseT4, замість 2-х пар використовуються 4-ри пари проводів, де дві пари можуть працювати або в один або в другий бік (передачі або приймання) в залежності від навантаження, тому вони маркуються як BI. У Ethernet 1000BaseT по кожній парі може відбуватися приймання і передача сигналу одночасно, забезпечуючи швидкість передачі 1 Гбіт/с (рис.4.8).

image-20220926173719896

Рис.4.8. Схема з’єднання портів пристроїв в Ethernet 1000BaseT.

У будь якому випадку максимальна довжина кабелів між пристроями не може перевищувати 100 м.

4.3. Концентратори та комутатори

У найпростішій схемі мережі 10BaseT центральний елемент зірки представляє собою активний елемент, який називається концентратором (hub, хаб). Кожна станція з’єднується з ним двома витими парами – для прийому і для передачі. Він також має функції повторювача. Хоч фізично така схема представляє собою зірку, логічно вона є шиною, адже передача кожної станції приймається усіма іншими станціями, що може призводити до колізій при одночасній передачі. Для вирішення колізій в Etehrnet на базі концентраторів використовується метод CSMA/CD, який був розглянутий на минулій лекції.

image-20220926175132902

Рис.4.9. Підключення через концентратор.

Концентратори можуть об’єднуватись в ієрархічну структуру із головного та проміжних хабів. Концентратори в комп’ютерних мережах на базі Ethernet практично вже не використовуються, замість них використовують комутатори.

Комутатори 2-го рівня (layer 2 switch), або просто “комутатори” працюють по іншому принципу. Кадр, який приходить на комутатор по одному порту, направляється тільки в той порт до якого підключений вузол-приймач (рис.410). Тобто комутатори 2-го рівня аналізують кадр, та по МАС-адресі приймача визначають куди необхідно його направити. Відбувається комутація між портами, тобто створюється канал, який не заважає створювати такі самі канали між іншими портами. Це в свою чергу виключає можливість колізії, тому немає необхідності в використанні алгоритму CSMA/CD. Поява таких комутаторів дала можливість працювати в дуплексному режимі, що значно збільшило ефективність роботи Ethernet. В дуплексному режимі використовується такий же формат кадру МАС-стандарту.

image-20220926175457651

Рис.4.10. Підключення через комутатор.

Таким чином Ethernet на базі концентраторів організований через напівдуплексний зв’язок, а на базі комутаторів - дуплексний.

За способом передачі кадрів комутатори діляться на:

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

Сучасні комутатори 2-го рівня можуть надавати ряд додаткових сервісів. Наприклад це комутатори з підтримкою технології VLAN, виділення пріоритетних портів, додаткова MAC фільтрація, IGMP snooping (потребує додаткової обробки на мережному рівні). Такий тип комутаторів потребує конфігурування, тому отримали назву керовані комутатори (managed switches). Для конфігурування та керування керованими комутаторами можуть надаватися різні типи сервісів, наприклад WEB, SNMP. Тож комутатори діляться на некеровані (unmanaged), що не потребують конфігурування, та керовані (managed) логіка роботи яких залежить від конфігурування.

Пристрої з Ethernet підтримують сумісність зі старими стандартами. Тобто, наприклад пристрій з 1Гбітним Ethernet може з’єднуватися з пристроєм, що підтримує 100BaseT4. Крім того вони можуть працювати як в дуплексному так і в напівдуплексному режимі. На сьогоднішній день більшість телекомунікаційних пристроїв підтримують технологію Auto-negotiation (авто-переговори), що дозволяє автоматично налаштувати оптимальний зв’язок між пристроями. В момент ініціалізації зв’язку (при включенні або підключенні пристрою в мережі), по спеціальному протоколу пристрої домовляються про швидкість передачі та тип з’єднання (дуплекс/напівдуплекс). Авто-переговори дають можливість відмовитись від ручного налаштування мережних карт. Однак слід зазначити, що для використання технології авто-переговорів, всі вузли які зв’язуються, повинні її підтримувати, інакше можлива втрата кадрів або взагалі відсутність обміну.

Повсякмісне використання Ethernet в офісних будівлях, призвело до необхідності організації робочих місць розетками для підключення комп’ютерів до мережі. Таким чином при проектуванні виникала потреба в правильному плануванні кабельної системи будівлі, що включала в себе всі телекомунікаційні ланцюги (комп’ютерна мережа, телефон, аудіо, відео тощо). В результаті сумісної роботи комітетів ISO та IEC виник стандарт ISO/IEC 11801 на організацію універсальних структурованих кабельних системи (СКС) в офісних приміщеннях.

4.4. Адресація вузлів

Для адресації вузлів в мережі використовується 6-байтові МАС-адреси. Адреса як правило записується в 16-ковому форматі: наприклад EC-F4-BB-83-B0-4E або EC:F4:BB:83:B0:4E. Кожний мережний адаптер повинен мати прошиту в неї унікальну МАС-адресу.

Для відправки можна використовувати адресацію окремого вузла (індивідуальну), усіх вузлів (широкомовну), декількох вузлів (групову). Широкомовна адреса FF-FF-FF-FF-FF-FF.

Мережні карти можуть працювати в режимі нерозбірливого захвату (promiscuous mode), тобто не відфільтровувати кадри по адресі МАС.

Унікальність адреси МАС досягається комбінацією: “адреса” виробника карти + номер карти (рис.4.11). Перші 3 байти виділені виробнику обладнання, видаються кординуючим комітетом IEEE, наприклад:

За цими першими трьома байтами можна визначити виробника в Інтернет, наприклад на сайті https://macaddress.io/ (рис.4.12) . Наступні 3 байти – виробник виділяє на кожну свою карту. Унікальна (прошита) адреса називається також глобальною. Адміністратор може назначити адресу локально.

image-20220927112503189

image-20220927112340233

Рис.4.11. Структура MAC адреси.

image-20220927113756031

Рис.4.12. Приклад визначення виробника за MAC адресою.

Для визначення адреси на ОС Windows можна використати різноманітні утиліти, зокрема getmac (рис.4.13) або ipconfig (рис.4.14).

image-20220927114744118

Рис.4.13. Приклад використання утиліти getmac.

image-20220927115440223

Рис.4.14. Приклад використання утиліти ipconfig ipconfig /all.

Змінити адресу МАС у Windows можна через вікна налаштування мережної карти (рис.4.15), або різноманітні консольні утиліти.

image-20220927115943514

рис.4.15. Зміна MAC-адреси через налаштування карти.

4.5. Структура кадру

DIX Ethernet ІІ та IEEE 802.3

На сьогоднішній день існує два формати кадрів Ethernet. Це пов’язано з тим, що в той час, коли організація по стандартизації IEEE розвивала стандарти для локальних мереж, DIX Ethernet (DIX - абревіатура перших букв фірм-розробників DEC, Intel, Xerox) вже широко використовувався. Мета IEEE полягала у тому, щоб розвинути стандарти та правила, які були б базовими для всіх типів обчислювальних мереж так, щоб обмін даними був можливий між різними типами мереж (Ethernet та Token Ring). Оскільки це було потенційно небезпечним для існуючих впроваджень Ethernet, правила обробки для “нового” і “старого” формату були різними. С тих пір існує відмінність між кадрами DIX Ethernet та IEEE 802.3, хоч обидва називаються – Ethernet.

У кадри Ethernet перед корисними даними, які він переносить, йде 14-байтовий заголовок, в якому міститься MAC адреса отримувача (6 байт), MAC адреса відправника (6 байт) та тип кадру (2 байти). В кінці кадру передається 4-байтова контрольна сума. На рис.4.16 не показана преамбула, з якої починається кадр - це 64 бітна послідовність чередування логічних 0 та 1, що призначена для синхронізації.

image-20220927122710096

рис.4.16. Структура кадру Ethernet 2

Кадри DIX та IEEE 802.3 ідентичні по кількості та довжини полів (рис.4.17) . Єдина відмінність заключається в змісті полів та їх інтерпретації станціями, які відправляють та отримують кадри. Враховуючи це, будь яка станція може відправити будь який з цих кадрів. З рис.4.17 видно що відрізняється структура преамбули, однак наповнення та інтерпретація цієї частини буде однаковою. Поля адреси призначення та адреси відправника однакові і призначені для адресації за допомогою МАС-адреси. Призначення поля – довжина/тип (які також називаються EtherType) дещо відрізняються в стандартах. Для DIX це поле описує тип PDU вищого рівня (мережного), який переноситься даним кадром. Наприклад $800{16}$ вказує, що кадр використовується для пакету IP. В кадрі IEEE 802.3 дане поле використовується як для вказівки типу PDU, так і для опису довжини кадру. Якщо значення цього поля < $600{16}$, воно вказує на довжину поля даних, а в іншому випадку - на тип протоколу даних.

img

Рис.4.17. Порівняння структури кадрів IEEE 802.3 (зверху) та DIX (внизу)

Оскільки канальний рівень в стандартах IEEE включає підрівень LLC, поле даних в IEEE 802.3 включає частину, яка відноситься до IEEE 802.2.

IEEE 802.1Q та VLAN.

Для підтримки керованих мостів та комутаторів IEEE випустила додатковий стандарт 802.1Q. Стандарт IEEE 802.1Q – забезпечує незалежний від виробника спосіб реалізації віртуальних мереж VLAN (Virtual bridged Local Area Network) за рахунок виділення частини портів комутатора в незалежні групи перемикання. Це дозволяє менеджеру мережі призначити окремі групи портів незалежним віртуальним мережам. Розділення між віртуальними мережами проходить по виділеним для цього полям кадру (рис.4.18). На відміну від стандартного кадру IEEE 802.3, після адреси відправника вставляються додаткові 4 байти: 2 байти TPID та два байти TCI.

img

Рис.4.18. Структура кадрів IEEE 802.3 з розширенням IEEE 802.1Q

Поле TPID – це ідентифікатор протоколу. Призначення цього поля заключається в ідентифікації даного кадру, як особливого (тегового). Зустрічаючи такий кадр комутатори або мости, які підтримують додаткові можливості 802.1Q почнуть обробляти його по особливому алгоритму. Для Ethernet значення цього поля $8100_{16}$. Поле TCI – вміщує інформацію для управління теговим кадром. Перші три біти вміщують інформацію про пріоритетність кадру, яка базується на 8-ми рівнях CoS (Class of Service, 0-7, 7-й – самий пріоритетний) описаних в IEEE 802.1p. Останні 12 біт ідентифікують віртуальну мережу VLAN (0-4095) для якої призначений даний кадр.

Кадри VLAN можуть одночасно функціонувати з стандартними кадрами IEEE 802.3 та DIX. Використання VLAN потребує керованих елементів мережної інфраструктури - керовані мости, керовані комутатори, тощо.

image-20220927125308819

Рис.4.19. Приклад VLAN

4.6. Принципи роботи комутаторів

Джерело Host to Host through a Switch

Функції комутаторів

Комутатор (switch) має чотири функції: навчання (Learning), широкомовна передача (Flooding), переадресування (Forwarding) та фільтрація(Filtering):

Комутатор приймає всі свої рішення на основі інформації, що міститься в заголовку кадру. Зокрема, комутатор використовуватиме MAC-адресу джерела та MAC-адресу призначення для прийняття рішень щодо передресування. Однією з функцій комутатора є створення таблиці MAC-адрес, зіставляючи кожен з його портів комутатора з MAC-адресою підключених пристроїв для подальшої переадресації.

Таблиця MAC-адрес спочатку порожня, і щоразу, коли комутатор щось отримує, він переглядає поле MAC-адреси джерела вхідного кадру. Він використовує MAC-адресу джерела та порт комутатора, на якому отримано кадр, для створення запису в таблиці MAC-адрес. Рано чи пізно, оскільки кожен підключений пристрій неминуче щось надсилає, комутатор матиме повністю заповнену таблицю MAC-адрес. Цю таблицю потім можна використовувати для швидкого пересилання кадрів відповідно до їх призначення.

Однак, незважаючи на наведений вище процес навчання, комутатор неминуче в якийсь момент отримає кадр, призначений для MAC-адреси, розташування якої комутатор не знає. У таких випадках єдиний варіант комутатора — просто скопіювати кадр і надіслати його на всі порти. Ця дія відома як Flooding (широкомовна передача).

Широкомовна передача гарантує, що якщо передбачений пристрій існує і якщо він підключений до комутатора, він обов’язково отримає кадр. Звичайно, так само цей кадр отримає кожен інший пристрій, підключений до цього комутатора. І хоча це не ідеально, це абсолютно нормально. Мережевий адаптер кожного підключеного пристрою отримає кадр і перегляне поле MAC-адреси призначення. Якщо вони не є тим одержувачем, вони просто мовчки проігнорують кадр.

Проте, якщо вони є призначеним пристроєм, комутатор може бути задоволений, знаючи, що йому вдалося успішно доставити кадр. Крім того, коли призначений пристрій отримує кадр, буде згенеровано відповідь, яка, надіслана на комутатор, дозволить комутатору вивчити та створити таблицю MAC-адрес, що відображає цей невідомий пристрій на його порт комутатора.

В ідеалі, звичайно, комутатор матиме запис у своїй таблиці MAC-адрес для кожної MAC-адреси призначення, яку він зустріне. Коли це трапляється, комутатор пересилає кадр на відповідний порт комутатора. Існує три методи, за допомогою яких комутатор може пересилати кадри. Вони коротко описані нижче.

Сьогодні різниця у швидкості між цими трьома способами незначна, і більшість комутаторів працюють у режимі Store та Forward.

І, нарешті, остання функція комутатора — фільтрація. В основному ця функція стверджує, що комутатор ніколи не пересилатиме кадр назад через той самий порт, який отримав кадр, а відправляє саме туди, куди цей кадр призначений. Рідко хост надсилає кдар зі своєю MAC-адресою, як адресою призначення. У будь-якому випадку, коли це трапляється, комутатор просто відкидає кадр.

Функціонування комутатору

Тепер, коли ми розглянули кожну з окремих функцій Switch, ми можемо подивитися на них у дії. Анімація нижче показує комутатор, який виконує всі чотири функції під час обробки трафіку. Зазвичай хости в наведеній нижче анімації повинні виконати розв’язку ARP, але, щоб зосередитися на роботі комутатора, ми опустимо ARP (розглянемо на наступній лекції) і продовжимо розглядати так, ніби всі хости вже знають IP та MAC-адреси один одного.

Host to Host through a Switch - Switch Functions animation

Рис.4.20. Демонстрація роботи комутаторів (Host to Host through a Switch)

Хост A має «щось» надіслати хосту B. Вміст «щось» абсолютно не має значення, якщо зрозуміло, що кадр має заголовок L2, який містить MAC-адресу джерела та призначення. Спочатку таблиця MAC-адрес комутатора порожня. Пам’ятайте, що він заповнюється лише після отримання кадру.

Коли хост A надсилає кадр комутатору, він містить MAC-адресу джерела aaaa.aaaa.aaaa. Це спонукає комутатор створити запис в таблиці MAC-адрес, який зіставляє порт 1 з MAC-адресою aaaa.aaaa.aaaa. Тоді, вирішуючи, як переслати кадр, комутатор розуміє, що немає запису для bbbb.bbbb.bbbb. Це залишає комутатору лише один варіант: дублювати та відправляти кадр на всі порти. Зверніть увагу, що кадр дублювався на всі порти, окрім порту 1 (порт, через який він надійшов) – це приклад того, як комутатор виконує свою функцію фільтрування.

Потім цей кадр буде отримано хостом C і хостом B. Хост C під час перевірки заголовка L2 зрозуміє, що кадр не призначений для нього, і просто відкине його. І навпаки, коли хост B отримує кадр і розуміє, що він справді призначений йому, він прийме кадр і згенерує відповідь.

Коли відповідь надходить на комутатор, можна створити інший запис зіставлення таблиці MAC-адрес: порт 2 містить MAC-адресу bbbb.bbbb.bbbb. Потім комутатор шукає MAC-адресу призначення (aaaa.aaaa.aaaa) і розуміє, що ця адреса існує на виході порту 1. Потім комутатор може просто переслати кадр, оскільки він знає розташування MAC-адреси призначення. Анімація вище ілюструє чотири функції комутатора на одному комутаторі. Щоб побачити, як процес масштабується до кількох комутаторів, перегляньте цю статтю.

Часто виникає певна плутанина щодо комутатора щодо Broadcast (широкомовна адресація) та поведінки комутатора при flooding (широкомован розсилка). Плутанина зрозуміла, оскільки кінцевий результат однаковий, але також важливо розуміти різницю. Широкомовний кадр (Broadcast frame) – це кадр, який адресовано всім у локальній мережі. Це робиться за допомогою того самого заголовка Ethernet, який ми обговорювали, за винятком того, що в полі MAC-адреси призначення вказана спеціальна широкомовна адреса: ffff.ffff.ffff. При цьому Flooding — це дія, яку може виконати комутатор, як у випадку широкомовної адреси так у випадку, якщо він не знає, на який порт треба відправити кадр.

Контрольні питання

1) На яких рівнях моделі ISO OSI функціонує Ethernet. Поясніть що це значить. 2) Які мережі Ethernet ви знаєте? Поясніть що значать цифри і літери в назві. 3) Які мережі Ethernet на базі витої пари Ви знаєте? Чим вони різняться? 4) Розкажіть про призначення контактів в Ethernet :

  1. Поясніть у якому випадку і чому в Ethernet 10BaseT використовують прямі та перехресні кабелі? Чому для нових мережних карт тип кабелю (прямий чи перехресний) вже не має значення?
  2. Чому пари не можна розділяти при підключенні до одного приймача/передавача?
  3. Навіщо в кабелі кольорове позначення провідників? Чи має значення колір проводу при підключенні?
  4. Розкажіть про спосіб та засоби створення мережних з’єднань.
  5. Які характеристики дальності та швидкості для мереж Ethernet на базі витої пари?
  6. Чим принципово відрізняється робота комутаторів(hub) і концентраторів(switch)?
  7. Поясніть чому в мережах на базі комутаторів вже немає необхідності в алгоритмі SCMA/CD.
  8. Поясніть принцип роботи комутатора.
  9. Чи можуть пристрої з різноманітними варіаціями швидкості та способу підключення (дуплекс/напівдуплекс) автоматично налаштуватися на зв’язок між собою?
  10. Яким чином налаштовуються мережні карти Ethernet та WiFi в ОС Windows?
  11. Яка інформація передається в кадрі окрім корисного навантаження? За що вона відповідає?
  12. Як забезпечується унікальність глобальних MAC-адрес? Чи можна змінити MAC адресу від якої буде спілкуватися карта в мережі?
  13. Поясніть як функціонує VLAN?
  14. Поясніть на прикладі як працює комутатор з динамічно заповнюваними таблицями.

Посилання на відеозаписи лекцій

3. Функції канального рівня <– Лекції –> 5. Мережний рівень та маршрутизація