- •Тема 1.3 Протоколи мереж та методи доступу
- •Алгоритми доступу до середовища
- •Мережеві стандарти Ethernet і ieee 802.3
- •Лом і фізичний рівень
- •Варіант комбінування трьох існуючих стандартів виконання розводки в мережах
- •Лом і канальний рівень
- •Лом і мережевий рівень
- •Одночасний доступ багатьох користувачів з контролем несучої і виявленням колізій
- •Формат фрейму Ethernet II
- •Адресація в мережах Ethernet.
- •Обмеження на розмір мережі
- •Мережі Token Ring і fddi.
- •Стандарти глобальних мереж
- •Глобальні мережі і фізичний рівень
- •Режими стану передачі
- •Функціонування протоколу Frame Relay
- •Протокол ррр забезпечує надійне з'єднання між маршрутизаторами
- •Компоненти протоколу ррр
- •Isdn також може надати чистий канал передачі даних, через який встановлюються ррр-з'єднання.
- •Інкапсуляція isdn
- •Структура протоколу
- •Команди ftp:
- •Протокол pop3
- •Заборона віддаленого root-доступу.
- •Протоколи рівня представлення
- •Xdr виконаний як портативна (переносна) бібліотека функцій між різними операційними системами і так само не залежить від транспортного рівня.
- •Протоколи сеансового рівня
- •Протоколи мережевого рівня
- •Протоколи канального рівня
- •Швидкий Ethernet (100 Мбіт/с) (Fast Ethernet)
- •Гігабітний Ethernet
- •Технології (стандарти) фізичного рівня
- •Very High Data-Rate Digital Subscriber Line (vdsl). Аналогічна hdsl, швидкість до 56 Мбіт/с. Відстань до 1,5 км. Технологія вельми дорога і не знаходить широкого застосування.
Протокол pop3
Популярний протокол для отримання повідомлень електронної пошти. На серверах POP3 дозволений доступ тільки до однієї поштової скриньки, на відміну від серверів IMAP, які надають доступ до декількох папок на сервері.
Чисто умовно сеанс POP3 можна розділити на дві фази: фазу аутентифікації і фазу обміну даними.У фазі аутентифікації користувач повинен повідомити свій ідентифікатор і пароль. Якщо аутентифікація була проведена успішно, то система дозволяє працювати з вмістом поштової скриньки.
POP3 дуже схожий на SMTP з тією тільки різницею, що повідомлення можна приймати, але не можна відправляти. Команди POP3 передаються в ході сеансу Telnet через 110 TCP порт. Коли з'єднання встановлено, сервер відправляє запрошення. Потім клієнт і сервер POP3 обмінюються інформацією до тих пір, поки з'єднання не буде закрито або перервано (якщо клієнт і сервер деякий час, зазвичай 10 хвилин) не взаємодіють один з одним, сервер автоматично перериває з'єднання і при цьому не переходить в так званий режим update).
POP3-сесія складається з декількох режимів. Як тільки сервер відправив запрошення клієнтові, сесія переходить в режим authorization (авторизація). У цьому режимі клієнт повинен ідентифікувати себе на сервері. Після успішної ідентифікації сесія переходить в режим transaction (передача). У цьому режимі клієнт запрошує сервер виконати певні команди. Коли клієнт відправляє команду QUIT, сесія переходить в режим UPDATE. У цьому режимі POP3-сервер звільняє всі зайняті ресурси і завершує роботу. Після цього TCP-з'єднання закривається.
Приклади команд POP3:
user та pass - команди фази аутентифікації (авторизації), за якими йдуть логін і пароль відповідно;
stat - видає статус поштової скриньки клієнта;
list - система повідомляє число повідомлень і їх розмір у байтах;
retr - видає текст повідомлення;
dele - команда підготовки повідомлення до видалення (повідомлення видаляються тільки в момент закінчення сеансу, а під час сеансу позначаються як вилучені);
rset - знімає мітку на видалення повідомлення;
quit - завершує сеанс роботи з сервером.
Протокол IMAP (Internet Message Access Protocol) - інтернет-протокол прикладного рівня для доступу до електронної пошти. На відміну від вже згадуваного POP3, IMAP надає користувачеві куди більші можливості для роботи з поштовими скриньками, що знаходяться на центральному сервері. Поштова програма, що використовує цей протокол, отримує доступ до сховища кореспонденції на сервері так, як ніби ця кореспонденція розташована на комп'ютері одержувача. Електронними листами можна маніпулювати з комп'ютера користувача (клієнта) без необхідності постійної пересилання з сервера і назад файлів з повним змістом листів, що досить зручно.
Протокол SMTP (Simple Mail Transfer Protocol) - протокол управляє обміном повідомленнями електронної пошти між агентами передачі повідомлень. На відміну від POP3, який призначений для прийому пошти, SMTP - протокол передачі. Відмінною рисою даного протоколу зв'язку слід вважати його мультипрофильність: SMTP не залежить від транспортного середовища і може використовуватися для доставки пошти в мережах з різними протоколами, відмінними від TCP/IP. В основі такої універсальності лежить технологія IPCE (InterProcess Communication Environment), яка дозволяє взаємодіяти процесам, що підтримують SMTP в інтерактивному режимі. Взаємодія в рамках SMTP будується за принципом двостороннього зв'язку. Між відправником і одержувачем поштового повідомлення встановлюється з'єднання, при якому відправник ініціює сеанс і посилає запити на обслуговування, а одержувач відповідає на ці запити. При такій схемі взаємодії можна вважати, що відправник виступає в ролі клієнта, а одержувач - в ролі сервера. Для ініціалізації каналу обміну поштою та його закриття використовуються команди HELO і QUIT відповідно. Протокол допускає розсилку поштових повідомлень в режимі оповіщення: в цьому випадку відправник в адресі одержувача зазначає кілька користувачів або одну групову адресу. Для налагодження або перевірки з'єднання по SMTP можна використовувати telnet. Для цього слідом за адресою машини слід ввести номер порту.
Протокол NNTP (Network News Transfer Protocol) - основний і єдиний протокол, по якому користувачі можуть підключатися до news-серверів і брати участь в дискусіях. NNTP працює на 119-му TCP-порту (при підключенні до NNTP-сервера по SSL (так званому NNTPS, використовується порт 563). Структура протоколу нагадує протоколи прийому та передачі електронної пошти. Основні відмінності технології NNTP від e-mail наступні:
- відсилаються повідомлення загальнодоступними;
- повідомлення згруповані по темах обговорення;
- можливо відкликати надіслане повідомлення.
Фактично рішення на технології NNTP дуже схожі на веб-форуми за винятком того, що копія бази даних повідомлень зберігається на комп'ютері користувача (або хоча б список тем повідомлень)
SNMP (англ. Simple Network Management Protocol - простий протокол управління мережею) - це протокол управління мережами зв'язку на основі архітектури TCP/IP. Це протокол прикладного рівня для стеку TCP/IP. SNMP широко використовується для отримання від мережевих пристроїв інформації про їх статус, продуктивність та інші характеристики, які зберігаються в спеціальній базі даних - так званій MIB (Management Information Base). SNMP покликаний забезпечити управління і контроль пристроїв і додатків в мережі зв'язку шляхом обміну керуючою інформацією між агентами, що розташовуються на мережевих пристроях, і менеджерами, розташованими на станціях управління. В даний час SNMP є базовим протоколом управління мережі Internet. SNMP визначає мережу як сукупність мережевих керуючих станцій і елементів мережі (головні машини, шлюзи і маршрутизатори, термінальні сервери), які спільно забезпечують адміністративні зв'язки між мережевими керуючими станціями та мережевими агентами. SNMP різних версій присвячено цілий ряд рекомендацій проблемної групи проектування Internet (RFC).
SNMP - це протокол типу запит/відповідь: на кожен запит, що надійшов від менеджера, агент повинен передати відповідь. SNMP включає в себе всього кілька команд:
Команда Get-request використовується менеджером для отримання від агента значення якого об'єкта по його імені.
Команда GetNext-request використовується менеджером для отримання значення наступного об'єкта (без зазначення його імені) при послідовному перегляді таблиці об'єктів.
За допомогою команди Get-response агент SNMP передає менеджеру відповідь на команди Get-request або GetNext-request.
Команда Set використовується менеджером для зміни значення будь-якого об'єкта. За допомогою команди Set відбувається власне управління пристроєм. Агент повинен розуміти сенс значень об'єкта, який використовується для управління пристроєм, і на підставі цих значень виконувати реальний керуючий вплив - відключити порт, приписати порт певної VLAN тощо.
Команда Set також використовується для установки умови, при виконанні якої агент SNMP повинен послати менеджеру відповідне повідомлення. Може бути визначена реакція на такі події, як ініціалізація агента, рестарт агента, обрив зв'язку, відновлення зв'язку, невірна аутентифікація і втрата найближчого маршрутизатора. Якщо відбувається будь-яка з цих подій, то агент ініціалізує переривання.
Команда Trap використовується агентом для повідомлення менеджеру про виникнення особливої ситуації.
Протокол TELNET існує вже давно, створено безліч реалізацій для самих різних операційних систем. TELNET - це протокол емуляції термінала, який широко використовується в Інтернет для входу в систему на мережевих комп'ютерах. Даний протокол дозволяє віддаленому користувачеві, встановивши TCP-з'єднання з сервером, передавати йому команди так, ніби робота проводиться локально на консолі сервера. Робота TELNET організована за принципом взаємодії клієнт/сервер і заснована на базі протоколу TCP. Сервер Telnet виконує роль шлюзу, через який клієнти Telnet взаємодіють один з одним. Обмін даними за протоколом здійснюється по дуплексному багатокористувацькому протоколу: один сервер розрахований на обслуговування одночасно декількох клієнтів (вбудований в Windows XP сервер Telnet підтримує не більше двох клієнтів Telnet). Протокол тримається на трьох головних принципах:
- Принцип № 1
NVT, або Netvork Virtual Terminal - принцип віртуальних терміналів. Згідно даному принципу кожен учасник з'єднання виконує роль віртуального мережевого термінала.
- Принцип № 2, або принцип додаткових сервісів. Якщо хост надає додатковий сервіс (не NVT, а будь-який інший), і клієнт в змозі його використовувати, то telnet надає можливість зробити це.
- Принцип № 3 - принцип синхронізованої симетрії терміналів і сервісів. Всі учасники з'єднання рівнопроавні.
Хоча в сесії Telnet виділяють клієнтську і серверну сторону, протокол насправді повністю симетричний. Після встановлення транспортного сполучення (як правило, TCP) обидва його кінця відіграють роль «мережевих віртуальних терміналів» (NVT), які обмінюються двома типами даних:
- прикладними даними (тобто даними, які йдуть від користувача до текстового додатком на стороні сервера і назад);
- опціями протоколу Telnet, службовцями для з'ясування можливостей і переваг сторін.
Незабаром після своєї появи протокол Telnet став надзвичайно популярним, що було обумовлено його відносною простотою і високою функціональністю.
Але у протоколі не передбачено використання ні шифрування, ні перевірки автентичності даних. Тому він уразливий для будь-якого виду атак, до яких уразливий його транспорт, тобто протокол TCP. Тому для утворення віддаленого доступу до системи в даний час застосовується мережевий протокол SSH (особливо його версія 2), при створенні якого наголос робився саме на питання безпеки. Слід мати на увазі, що сесія Telnet вельми беззахисна, якщо тільки не здійснюється в повністю контрольованої мережі або із застосуванням захисту на мережевому рівні (різні реалізації віртуальних приватних мереж). З причини ненадійності від Telnet відмовилися.
SSH (Secure Shell) - мережевий протокол прикладного рівня, що дозволяє проводити віддалене управління комп'ютером і передачу файлів. За функціональністю аналогічний протоколу Telnet з тією лише різницею, що використовує алгоритми шифрування переданої інформації. Криптографічний захист протоколу SSH може бути побудований на різних алгоритмах шифрування.
SSH-клієнти і SSH-сервера є для більшості операційних систем.
SSH-сервер зазвичай слухає з'єднання на TCP-порту номер 22. Специфікація протоколу SSH-2 міститься в RFC 4251. Для аутентифікації сервера SSH використовує алгоритм Diffie-Hellman'а. Для аутентифікації клієнта - шифрування з відкритим ключем (воно порівняно повільне). Для шифрування переданих даних - симетричне шифрування (воно більш швидке). Серед алгоритмів шифрування з відкритим ключем найчастіше використовуються RSA та DSA. З симетричних алгоритмів - AES, Blowfish і 3DES. Цілісність переданих даних перевіряється за допомогою CRC32 в SSH1 або HMAC-SHA1/HMAC-MD5 в SSH2. Для стиснення шифруємих даних використовується алгоритм LempelZiv (LZ77), який забезпечує таку ж компресію, що і архіватор ZIP.
SSH дозволяє передавати через безпечний канал практично будь-який інший мережевий протокол, таким чином, можна не тільки віддалено працювати на комп'ютері через shell, але і передавати по шифрованому каналу звуковий потік або відео (наприклад, з веб-камери). Для цього використовується Port Forwarding з'єднанні TCP. Також, SSH може використовувати стиснення переданих даних для подальшої їх шифрації, що зручно, наприклад, для віддаленого запуску клієнтів X Window System.
Більшість хостинг-провайдерів за певну плату надають клієнтам доступ до їх домашнього каталогу по SSH. Це може бути зручно як для роботи в командному рядку, так і для віддаленого запуску програм (у тому числі графічних додатків). Через SSH можна працювати з консоллю віддаленого сервера, ніби перебуваючи поруч з ним.
Для роботи по SSH потрібен SSH-сервер і SSH-клієнт. Сервер прослуховує з'єднання від клієнтських машин і при встановленні зв'язку виробляє аутентифікацію, після чого починає обслуговування клієнта. Клієнт використовується для входу на віддалену машину і виконання команд.
Для з'єднання сервер і клієнт повинні створити пари ключів - відкритих і закритих - і обмінятися відкритими ключами. Зазвичай використовується також і пароль.
Рекомендації з безпеки використання SSH
