Міністерство освіти України
Національний університет
“Львівська політехніка”
кафедра автоматики
та телемеханіки
Звіт
про виконання лабораторної роботи№4
на тему: “ Стек протоколів TCP/IP. IP-адресація”
з дисципліни “СИСТЕМИ ТА МЕРЕЖІ ПЕРЕДАВАННЯ ДАНИХ”
Виконав: ст. гр. КС-42
Перевірив:
Львів-2003р.
Мета роботи – ознайомитись з стеком протоколів TCP/IP та питанням IP-адресації на основі протоколів IPv4, IPv6, та набути практичні навики при конфігурації мережевих параметрів комп’ютерів та вирішенні проблем, пов’язаних з адресацією цих комп’ютерів при підключенні їх до мережі.
Теоретичні відомості.
Загальні положення
Набір протоколів TCP/IP (Transmission Control Protocol/Internet Protocol) - це стандартний промисловий набір протоколів, розроблений для глобальних мереж (WAN), який був створений в результаті досліджень мереж з комутацією пакетів агенством DARPA в кінці 60-х - на початку 70-х років. TCP/IP є найбільш широковживаним сімейством мережевих протоколів, оскільки: по-перше, є єдиним незалежним від платформ набором протоколів; по-друге, це єдиний набір протоколів з відкритим процесом визначення стандартів та відсутністю власника.
В 4-рівневій моделі TCP/IP протокол IP належить до мережевого рівня, функцією якого є забезпечення передачі інформації в системі, що об’єднує довільну кількість мереж, причому ці мережі можуть використовувати різноманітні принципи передачі повідомлень між кінцевими вузлами і володіти довільною структурою зв’язків. Загалом, протокол IP не орієнтований на з'єднання, не гарантує доставку повідомлення і тому вважається ненадійним протоколом. Він призначений для маршрутизації та відправки пакетів між мережами та вузлами.
В термінології INTERNET комп'ютер, на якому працює мережевий протокол, наприклад, протокол IP з набору TCP/IP, називається хостом (host). Хости обмінюються даними між собою і значна доля діяльності в INTERNET обумовлена управлінням інформаційними потоками між комп'ютерами-хостами. Терміном вузол (node), як правило, коротко називають такі пристрої як міст, маршрутизатор, комутатор, шлюз чи хост.
На сьогодні існує дві версії протоколу IP: IPv4 та IPv6. Зараз вживається протокол IPv4, що описаний в RFC 791.
Протокол IPv4, формат IP-адреси. Класи IP-адрес.
Виділені (зарезервовані) IP-адреси
Розглянемо IP-адресацію протоколу IPv4. IP-адреса може бути записана у двох форматах – двійковому (binary) та десятковому з точковими розділювачами (dotted decimal notation). Остання форма використовується як зручніша для сприйняття в порівнянні з бінарною формою. Кожна IP-адреса має довжину 32 біти і для зручності її поділяють на чотири октети, що відділяються один від одного точками. Кожен октет представляє десяткове число в діапазоні від 0 до 255. Ці 32 розряди IP-адреси містять ідентифікатор мережі (network ID) та ідентифікатор хоста (host ID).
Ідентифікатор мережі визначає фізичну мережу, він є однаковим для усіх вузлів в одній мережі і унікальний для кожної з мереж, включених в об'єднану мережу.
130.107.2.23 десяткова форма
10000010 01101011 00000010 00010111 двійкова форма
ідентифікатор ідентифікатор
мережі вузла
Рисунок 1. Представлення IP-адреси 130.107.2.23 в десятковій та двійковій формах.
Ідентифікатор вузла являє собою адресу конкретного вузла в цій мережі.
Кожен хост повинен утримати унікальну адресу в глобальній комп’ютерній мережі Internet у вигляді IP-адреси. Для кінцевого користувача чи організації IP-адресу чи відповідно діапазон IP-адрес може надавати регіональний Internet сервіс-провайдер (ISP) (фірма, що надає послуги Internet і є точкою входу в Internet (POP)), причому організації виділяється блок IP-адрес, що відповідає розміру її мережі. Слід зазначити, що хоча й вся інформація, отримана з Internet, є безплатна, проте послуги за користування Internet є платні. Причиною цього може служити хоча би той факт, що ISP є суб’єктом підприємницької діяльності. Тому природно, що за кожну зареєстровану IP-адресу слід платити і ця оплата буде прямо пропорційна до кількості зареєстрованих IP-адрес.
ISP у свою чергу повинен отримати діапазон адрес для надання їх клієнтам в організації IANA (Internet Assigned Numbers Authority), яка координує розподіл IP-адрес в мережі Internet, або ж в Мережевого інформаційного центру INTERNET (InterNIC).
В протоколі IPv4 існує п'ять класів IP-адрес у відповідності з різними розмірами комп'ютерних мереж. Клас адреси визначає, які біти відносяться до ідентифікатора мережі, а які - до ідентифікатора вузла. Також клас визначає максимально можливу кількість вузлів у мережі.
Класи IP-адрес ідентифікують по значенню першого октету адреси наступним чином (див. рис.2).
Адреси класу А назначаються хостам дуже великих мереж. Старший біт в цих адресах завжди рівний нулю. Перший октет присвоюється організацією InterNIC і модифікації не підлягає. Решта три октети містять ідентифікатор вузла.
Адреси класу В назначаються хостам великих та середніх по розміру мереж. Два старші біти в цих адресах завжди рівні двійковому значенню 10. Два перші октети присвоюються організацією InterNIC і модифікації не підлягають. Решта два октети містять ідентифікатор вузла.
Адреси класу С застосовуються в невеликих мережах. Три старші біти в цих адресах завжди рівні двійковому значенню 110. Три перші октети присвоюються організацією InterNIC і модифікації не підлягають. А останній четвертий октет є ідентифікатором вузла.
Кількість мереж, кількість хостів в цих мережах та діапазон значень ідентифікаторів мереж для класів А, В та С наведені в таблиці 1.
Класи D та E мають специфічне призначення. Адреси класу D призначені для групових повідомлень. Чотири старші біти в цих адресах завжди рівні двійковому значенню 1110. Решта біт означають конкретну групу отримувачів і не діляться на частини. Пакети з такими адресами розсилаються вибраній групі хостів в мережі.
Клас E – є експериментальний і зарезервований для майбутнього використання, наразі не використовується. Чотири старші біти в цих адресах завжди рівні двійковому значенню 1111.
0xxxxxxx
******** $$$$$$$$ $$$$$$$$ $$$$$$$$ Клас A: 1 - 126
InterNIC адміністратор мережі
10xxxxxx
******** ******** $$$$$$$$ $$$$$$$$ Клас B: 128 - 191
InterNIC адміністратор
мережі
110xxxxx
******** ******** ******** $$$$$$$$ Клас C: 192 - 223
InterNIC адміністра-
тор мережі
1110xxxxx Клас D: 224 - 239
1111xxxxx Клас E: 240 - 247
Умовні позначення:
* - цей біт присвоюється організацією IANA чи InterNIC і зміні не підлягає
$ - цей біт присвоюється системним адмі-
ністратором
x – будь-яке значення біту
Рисунок 2. Класи мереж Internet.
Таблиця 1
Показники мереж класів А, В та С
Клас
Кількість мереж
Кількість хостів в мережі
Діапазон значень ідентифікаторів мережі
Клас А
126
16777214
1 – 126
Клас В
16384
65534
128 – 191
Клас С
2097152
254
192 - 223
Слід зазначити, що існує цілий ряд адрес, які трактуються особливим чином, ніколи не присвоюються хостам і вважаються виділеними адресами. Ними є:
- 0.0.0.0 даний вузол
- номер мережі | всі нулі дана IP-мережа
- всі нулі | номер хоста хост в даній (локальній) IP-мережі
- 255.255.255.255 всі хости в даній (локальній) IP-мережі
- номер мережі | всі одиниці всі хости у вказаній IP-мережі
- 127.x.y.z шлейфова адреса (напр., 127.0.0.1)
Наприклад,
194.100.2.5 – це адреса хоста в мережі класу С
194.100.2.0 – це адреса самої мережі класу С
0.0.0.5 – це адреса хоста в даній (194.100.2.0) IP-мережі
194.100.2.255 –це адреса всіх хостів у вказаній (194.100.2.0) IP-мережі (широкомовна (broadcast) адреса).
При визначенні максимальної кількості хостів m в мережі використовується наступна формула
, (1)
де n – кількість бінарних розрядів, відведених під ідентифікатор хоста, а віднімання числа 2 від загальної кількості пояснюється наявністю в кожній мережі адреси самої мережі та адреси усіх хостів у цій мережі (див. таблицю 1).
Маска підмережі являє собою 32-розрядне бінарне число, яке використовується для виділення (маскування) з IP-адреси її частин: ідентифікаторів мережі та хоста. Така процедура необхідна для того, щоб вияснити, чи відноситься та чи інша IP-адреса до локальної чи віддаленої мережі.
Кожен хост TCP/IP повинен мати маску підмережі – чи таку, що задається по замовчуванню (в тому випадку, коли мережа не ділиться на підмережі), чи спеціальну (якщо мережа розбита на декілька підмереж). Значення маски підмережі по замовчуванню залежить від використовуваного в даній мережі класу IP-адрес.
Таблиця 2
Значення масок по замовчуванню для IP-адрес класів А, В та С
Клас адрес
Біти, що використовуються для маски підмережі
Десятковий запис з точковими розділювачами
Клас А
11111111 00000000 00000000 00000000
255.0.0.0
Клас В
11111111 11111111 00000000 00000000
255.255.0.0
Клас С
11111111 11111111 11111111 00000000
255.255.255.0
В масці підмережі біти, що відповідають ідентифікатору мережі, встановлюються в 1. Таким чином, значення кожного октету буде рівне 255. Усі біти, що відповідають ідентифікатору хоста, встановлюються в 0.
Наприклад, для хоста 129.84.3.24 значення маски по замовчуванню рівне 255.255.0.0, що означає , що ідентифікатор мережі рівний 129.84.0.0, а ідентифікатор хоста в цій мережі рівний 0.0.3.24.
Визначення адреси призначення пакету. Шлюз по замовчуванню
Протокол IP використовує операцію логічного “І” для визначення того, якому хосту призначений пакет – чи тому, що розташований в локальній мережі, чи у віддаленій. При ініціалізації підтримки TCP/IP IP-адреса хоста складається з його маскою підмережі за допомогою операції логічного “І”. Перед відправленням кожного IP-пакету IP-адреса призначення складається з тією ж маскою підмережі. Якщо результати двох перечислених вище операцій співпадають, то це означає, що отримувач пакету знаходиться в локальній мережі. В іншому випадку (якщо відправнику повідомлення не відомий маршрут до отримувача повідомлення) пакет відправляється на шлюз по замовчуванню (default gateway), що являє собою шлюз в інші мережі. Шлюзом по замовчуванню є маршрутизатор.
Для виконання операції логічного “І” TCP/IP порівнює попарно відповідні біти IP-адреси і маски. Якщо обидва біти рівні 1, то результат також рівний 1, а в інших випадках результуючий біт рівний 0.
Наведемо приклад виконання набором TCP/IP логічної операції “І” для згаданого вище випадку адреси 129.84.3.24:
IP-адреса 10000001 01010100 00000011 00011000
маска підмережі 11111111 11111111 00000000 00000000
результат 10000001 01010100 00000000 00000000
Якщо у вас найпростiша маленька мережа, що складається усього лише з однiєї підмережі, то всi хости в нiй можуть передавати данi безпосередньо один одному - в маршрутизацiї немає необхiдностi. (Насправдi в такiй мережi TCP/IP – протокол не потрібен, i можна цiлком обiйтися, наприклад, протоколом NetBEUI – немаршрутизованим протоколом для хостів з операційними системами від Microsoft, базованим на широкомовних повідомленнях). З іншої сторони, ваша мережа може бути настiльки велика, що застосування широкомовної адресації зробить її непрацездатною. Буде потрiбно розбити її на менші підмережі.
Кожна пiдмережа має як мiнiмум один маршрутизатор. Якщо маршрутизатора немає, те спiлкування з iншими мережами є неможливе, i нiякої об’єднаної мережі не буде. Прийнято, що перша IP-адреса пiсля номера мережi - це IP-адреса шлюзу по замовчуванню, тобто маршрутизатора і це є просто рекомендація, а не правило як адреса мережi чи широкомовна адреса хостів цієї мережі. Наприклад, адреса мережі 193.194.5.0, маска цієї підмережі 255.255.255.0, широкомовна адреса усіх хостів мережі 193.194.5.255, адреса маршрутизатора може бути 193.194.5.1.
Протокол IPv6, формат IP-адреси
Як відомо, існуючий на сьогодні протокол IPv4 володіє рядом недоліків, серед яких відмітимо брак вільного адресного простору. В новій версії протоколу IP (IPv6) втілено ряд ідей по обновленню IP.
IPv6 створювався спеціально для рішення наступних проблем - розширення адресного простору, забезпечення достовірності та конфіденційності інформації, що передається, підтримки передачі трафіку реального часу, механізму додавання нових можливостей. В цій роботі ми розглянемо лише адресацію IPv6.
В новій версії протоколу розрядність адрес відправників та отримувачів збільшена з 32 розрядів до 128-розрядів. Формат запису IP-адреси виглядає наступним чином:
443F:FFGA:1236:E09I:3409:1403:56C4:700A
Окрім існування звичайних (unicast) IP-адрес, призначених для зв’язку точка – точка, та групових (multicast) IP-адрес з’являється новий тип – невизначені (anycast) IP-адреси.
Хости, які використовують виключно протокол IPv4, не зможуть взаємодіяти з хостами, які використовують протокол IPv6, оскільки підтримується лише зворотня сумісність.
Основні утіліти для конфігурації та діагностики TCP/IP
В даному пункті приводяться утіліти для хостів під управлінням операційних систем Windows NT та Windows 9x.
ping.exe – програма для тестування зв’язку із зазначеним хостом.
Формат:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] destination-list
Опції:
-t “пінгувати” зазначений хост до моменту переривання.
-a привести відповідну текстовій числову чи відповідну числовій текстову адреси (задіяти DNS протокол для вирішення адрес).
-n count кількість ехо-запитів, що посилаються.
-l size розмір буфера посилання.
-f встановити прапорець “не робити фрагментацію” в пакеті.
-i TTL час життя.
-v TOS тип сервісу.
-r count записати маршрут для кількості count транзитних ділянок.
-s count мітка часу для count транзитних ділянок.
-j host-list зробити довільним маршрут від джерела вздовж списку хостів.
-k host-list зробити “жорстким” маршрут від джерела вздовж списку хостів.
-w timeout таймаут в мілісекундах для очікування на кожну відповідь.
tracert.exe – програма для визначення маршруту до зазначеного хоста.
Формат:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
Опції:
-d не здійснювати вирішення адрес (не задіювати DNS протокол).
-h maximum_hops максимальна кількість транзитних ділянок при пошуку цільового хоста.
-w timeout таймаут в мілісекундах для очікування на кожну відповідь.
ipconfig.exe – програма для встановлення TCP/IP конфігурації на хості під управлінням Windows NT.
Формат:
ipconfig
/? Показати допоміжну інформацію про синтаксис команди.
/all Показати повну інформацію про конфігурацію TCP/IP на хості.
/release звільнити оренду IP-адреси для зазначеного адаптера (протокол DHCP).
/renew поновити оренду IP-адреси для зазначеного адаптера.
winipcfg.exe -- програма для встановлення TCP/IP конфігурації на хості під управлінням Windows 9x (має графічний інтерфейс).
route.exe-- програма для встановлення таблиці маршрутизації на хості
Формат:
route [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric]
[IF interface]
-f очищення усіх записів таблиці маршрутизації. Якщо вживається разом з однією з команд, то таблиця очищується перед тим, як виконується команда.
-p коли використовується з командою ADD, то записується маршрут, який зберігається після перезавантаження комп’ютера (persistent). По замовчуванню нові маршрути після перезавантаження не зберігаються. Коли використовується з командою PRINT, то показує список зареєстрованих постійних (persistent) маршрутів. Ігнорується для інших команд, бо вони мають відношення лише до постійних маршрутів. Ця опція не працює на Windows'95- хості.
command Одна з наступних:
PRINT друкує маршрут;
ADD додає маршрут;
DELETE ліквідує маршрут;
CHANGE модифікує існуючий маршрут.
destination вказує хост.
MASK вказує, що наступним параметром є значення netmask.
netmask вказує значення маски підмережі для зазначеного маршруту. Якщо маска не вказана, то значення по замовчуванню рівне 255.255.255.255.
gateway вказує шлюз по замовчуванню.
interface номер інтерфейсу для зазначеного маршруту.
METRIC вказує метрику, тобто вартість затрат для досягнення зазначеної адреси отримувача. Вартість затрат вимірюється в транзитних ділянках (hop). Кількість транзитних ділянок рівна 1, вказує на те, що отримувач знаходиться в локальній мережі. Додатковий транзитна ділянка вводиться в якості додаткових затрат по доставці пакету кожен раз, як пакет проходить через маршрутизатор.
Наприклад, додавання нового маршруту:
route ADD 194.128.12.0 MASK 255.255.255.0 150.50.70.1 METRIC 3 IF 1,
де IF 1 – перший інтерфейс.
Якщо параметр IF не задається, то хост намагається знайти інтерфейс самостійно для зазначеного шлюзу по замовчуванню.
Приклад кафедральної мережі.
Prymary Atproxy Backup
...
...
... ...
...
IP - адреси компютерів кафедральної мережі, визначені за допомогою вищеприведених утиліт:
Комп’ютер
IP-адреса
607а-1
192.168.12.31
607b-1
192.168.12.51
607a-12
192.168.12.42
607b-12
192.168.12.62
608-1
192.168.12.11
608-16
192.168.12.26
606-1
192.168.12.71
606-10
192.168.12.80
604-1xp
192.168.12.131
604-2xp
192.168.12.132
604-3xp
192.168.12.133
604-4xp
192.168.12.134
604-5xp
192.168.12.135
604-6xp
192.168.12.136
Prymary
192.168.12.190
Atproxy
192.168.12.121
Backup
192.168.12.130
Використання утиліти tracert для визначення параметрів хоста 607а-12.
Результат:
Host Name: 607a-12
Mac Addres: 00 – A0 – D2 – 1D – C1 – C0
Subnet Mask: 255.255.255.0
IP: 192.168.12.42
Таблиця маршрутизації.
Network destination
Network
Gateway
Interface
127.0.0.0
192.168.12.0
192.168.12.42
192.168.12.255
224.0.0.0
255.255.255.255
255.0.0.0
255.255.255.255
255.255.255.255
255.255.255.255
224.0.0.0
255.255.255.255
127.0.0.1
192.168.12.42
127.0.0.1
192.168.12.42
192.168.12.42
192.168.12.42
127.0.0.1
192.168.12.42
127.0.0.1
192.168.12.42
192.168.12.42
192.168.12.42
Завдання, задане викладачем (згідно варіанту).
Завдання: Визначити кількість хостів в підмережі, яка має маску 255.255.255.192.
В двійковій формі: 11111111 11111111 11111111 11000000
Адрес мережі Адрес хоста
n=6
Кількість хостів в підмережі: