
- •Лабораторні роботи
- •Лабораторна робота №1,2
- •Вибір типу кабеля
- •Нарізка, зачищення і сортування жил
- •Приєднання rj-45 конектора
- •Cross-over ("нуль хабний")
- •Лабораторна робота № 4,5
- •Теретичні відомості
- •Лабораторна робота № 6,7
- •Лабораторна робота № 8,9
- •Лабораторна робота № 10,11
- •Лабораторна робота № 12,13
- •Теоретичні відомості Мережі на основі ос linux.
- •Адреси.
- •Створення мережевих інтерфейсів.
- •Настроювання мережевого інтерфейсу.
- •Настроювання кільцевого інтерфейсу.
- •Маршрутизація.
- •Активні сокети (перша форма)
- •Сокети tcp
- •Мережеві структури даних (друга форма)
- •Показ таблиці маршрутизації
- •Сумарна статистика передачі даних (третя форма)
- •Попередження
- •Порядок виконання роботи.
- •Лабораторна робота № 8
- •Короткі теоретичні відомості.
- •Типованні протоколи передачі даних.
- •Модемні стандарти.
- •Під’єднання модему до комп’ютера.
- •Тестування модему.
- •Найбільш поширені індикатори стану пристроїв в модемах.
- •Менш поширені індикатори стану пристроїв в модемах.
- •Інші спеціалізовані індикатори.
- •Програмне забезпечення.
- •Деякі стандартні комбінації клавіш при перегляді інформації в середовищі bbs.
- •Типи терміналів
- •Режим заданих параметрів.
- •Порядок виконання роботи:
Настроювання кільцевого інтерфейсу.
“Кільцевий“ інтерфейс – спеціальний інтерфейс, що зв'язує Вашу машину саму з собою. Його можна використовувати для різної мети. Наприклад, Ви можете забажати протестувати яке-небудь мережеве програмне забезпечення, не втручаючись в роботу інших машин в мережі. Для цього інтерфейсу спеціально зарезервована адреса `127.0.0.1'. Тому, запустивши telnet на адресу 127.0.0.1 на будь-якій машині, отримайте з'єднання з цією ж машиною. Настройка кільцевого інтерфейсу дуже проста (Як правило ці дії виконує один з скриптів ініціалізацій).
root# ifconfig lo 127.0.0.1
root# route add -host 127.0.0.1 lo
Маршрутизація.
Маршрутизація – широка тема, і про неї можна написати дуже багато. Для більшості, проте, схема маршрутизації буде достатньо простої, тому тут буде розглянуті тільки базові питання, пов'язані з маршрутизацією.
Почнемо з визначення. Отже, що ж таке IP-маршрутизація?
IP-маршрутизацією називається процес, за допомогою якого машина з декількома мережевими інтерфейсами вибирає, через який з інтерфейсів послати отриманий IP-пакет.
Проілюструємо це визначення на прикладі. Уявіть собі звичайний офісний маршрутизатор, який має PPP-з'єднання з Інтернетом, дещо підключених сегментів локальної ethernet-мережі і PPP-з'єднання з іншим офісом. Коли через один з інтерфейсів на маршрутизатор приходить IP-пакет, маршрутизатор повинен вирішити, через який з інтерфейсів відправляти цей пакет далі. Навіть простим машинам може бути потрібно маршрутизувати пакети, оскільки вони мають щонайменше два інтерфейси – один кільцевий, описаний вище, і другий, через який вони підключені до реальної мережі, наприклад ethernet-інтерфейс, або інтерфейс підключення по послідовних лініях PPP або SLIP.
Як же відбувається маршрутизація? На кожній машині зберігається спеціальний список правил маршрутизації, званий таблицею маршрутизації. Будь-який рядок цієї таблиці як правило містить щонайменше три поля. Перше поле – адреса призначення, друге – ім'я інтерфейсу, через який слід відправляти пакети, і третє – IP-адреса машини, через яку передаватимуться пакети. В Linux, Ви можете проглянути таблицю маршрутизації за допомогою наступної команди:
user% cat /proc/net/route
або однієї з команд:
user% /sbin/route -n
user% netstat -r
Процес маршрутизації достатньо простий: коли машина одержує IP-пакет, його адреса призначення (адреса машини, на яку відправлений цей пакет) звіряється з кожним рядком таблиці маршрутизації. Вибирається відповідний рядок і пакет передається через вказаний в цьому рядку інтерфейс. Якщо поле адреси “машини-передавача” заповнено, то пакет передається на цю машину, інакше вважається, що адресат пакету знаходиться в мережі, до якої підключений даний інтерфейс.
Для управління таблицею маршрутизації використовується програма route. Ця програма перетворить свої аргументи в параметри виклику ядра, і ядро додає, видаляє або змінює рядки в таблиці маршрутизації.
Простий приклад. Уявіть собі, що у вас є ethernet-мережа. Вона організована як мережа класу С з адресою 192.168.1.0. Вашій машині була виділена адреса 192.168.1.10 і було сказано, що маршрутизатор, через який Ваша мережа підключена до Інтернету знаходиться за адресою 192.168.1.1.
Насамперед Ви повинні набудувати мережевий інтерфейс. Команда виглядатиме так:
root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
Після цього Ви повинні додати в таблицю маршрутизації на Вашій машині рядок, згідно якого пакети на машини з адресами 192.168.1.* ядро повинне відправляти через інтерфейс eth0. Це робиться за допомогою наступної команди:
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
Зверніть увагу на використовування опції “-net“. Ця опція вказує, що адреса призначення в таблиці маршрутизації буде адресою мережі. За допомогою опції “-host” ви можете задати маршрут на конкретну IP-адресу.
Цей маршрут дозволить вам встановлювати IP-з'єднання з всіма машинами у вашому локальному ethernet-сегменті. Але як бути з всією рештою машин?
Би було дуже складне задавати маршрути для всіх можливих IP-мереж явно, тому використовують наступний трюк – маршрут за замовчуванням. Маршрут за замовчуванням підходить для всіх адрес призначення, не вказаних в таблиці маршрутизації. За допомогою маршруту за замовчуванням Ви говорите ядру – “а все інше відправляй туди”. В нашому прикладі маршрут за умовчанням настроюється командою:
root# route add default gw 192.168.1.1 eth0
Опція “gw” вказує програмі route що наступний аргумент – IP-адреса або ім'я маршрутизатора, на який треба відправляти всі пакети, відповідні цьому рядку таблиці маршрутизації.
Отже повністю настройка виглядатиме так:
root# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# route add default gw 192.168.1.1 eth0
Якщо Ви уважно проглянете ваші “rc” файли, що настроюють мережу, Ви знайдете, що принаймні один з них виглядає приблизно так, як і в нашому прикладі. Приведена конфігурація – одна з найпоширеніших.
Розглянемо тепер дещо складнішу конфігурацію маршрутизації в мережі. Уявіть собі, що ви повинні побудувати маршрутизатор з попереднього прикладу. У цього маршрутизатора є одне PPP-з'єднання і три підключені ethernet-сегменти. Настройка маршрутизації виглядатиме так:
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# route add -net 192.168.2.0 netmask 255.255.255.0 eth1
root# route add -net 192.168.3.0 netmask 255.255.255.0 eth2
root# route add default ppp0
У всій мережі тільки маршрутизатор повинен мати в своїй таблиці маршрутизації окремі рядки для кожної з підмереж. На решті машин зв'язок з іншими сегментами локальної мережі здійснюватиметься за допомогою маршруту за замовчуванням. Вони відправлятимуть пакети на маршрутизатор, а той передаватиме їх в потрібний сегмент мережі. Вас може здивувати, що маршрут за замовчуванням на маршрутизаторі не використовує опції “gw”. Причина проста. Протоколи з'єднання по послідовних лініях, такі як PPP і SLIP завжди мають тільки дві машини в мережі – (з'єднання крапка-крапка) тому вказівка адреси безглуздо – на тому кінці з'єднання тільки одна машина. Таким чином, для подібних з'єднань немає потреби вказувати адресу маршрутизатора, на який треба передавати пакети. Для інших типів мереж, таких як ethernet, arcnet або token ring потрібно вказувати адресу маршрутизатора, оскільки ці мережі підтримують підключення відразу багатьох машин до одного сегменту мережі.
Використовуючи теоретичні відомості про команди ping та netstat ( з попередніх лабораторних робіт) можна протестувати стан мережі, під управлінням ОС Linux.