Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Сетям ЭВМ для СР.doc
Скачиваний:
34
Добавлен:
27.10.2018
Размер:
1.2 Mб
Скачать

Управління фрагментацією

Протоколи транспортного рівня (протоколи TCP або UDP), що користуються мережевим рівнем для відправки пакетів, вважають, що максимальний розмір поля даних IP-пакету рівний 65535, і тому можуть передати йому повідомлення такої довжини для транспортування через інтермережу. У функції рівня IP входить розбиття дуже довгого для конкретного типу складової мережі повідомлення, на більш короткі пакети із створенням відповідних службових полів, потрібних для подальшого зібрання фрагментів в початкове повідомлення.

В більшості типів локальних і глобальних мереж визначається таке поняття, як максимальний розмір поля даних кадру або пакету, в які повинен інкапсулювати свій пакет протокол IP. Цю величину звичайно називають максимальною одиницею транспортування - Maximum Transfer Unit, MTU. Мережі Ethernet мають значення MTU, рівне 1500 байт, мережі FDDI - 4096 байт, а мережі Х.25 частіше всього працюють з MTU в 128 байт.

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

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

Маршрутизація за допомогою ip-адрес

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

Спочатку необхідно звернути увагу на той факт, що не тільки маршрутизатори, але і кінцеві вузли - комп'ютери - повинні брати участь у виборі маршруту.

Довжина маршруту може істотно змінитися залежно від того, який маршрутизатор вибере комп'ютер для передачі свого пакету на сервер, розташований, наприклад, в Німеччині, якщо маршрутизатор 1 сполучений виділеною лінією з маршрутизатором в Копенгагені, а маршрутизатор 2 має супутниковий канал, що сполучає його з Токіо.

В стеку TCP/IP маршрутизатори і кінцеві вузли ухвалюють рішення про те, кому передавати пакет для його успішної доставки вузлу призначення, на підставі так званих таблиць маршрутизації (routing tables).

Наступна таблиця є типовим прикладом таблиці маршрутів, що використовує IP-адреси мереж:

Адреса мережі призначення

Адреса наступного маршрутизатора

Номер вихідного порту.

Відстань до мережі призначення

56.0.0.0

198.21.17.7

120

56.0.0.0

213.34.12.4.

2130

116.0.0.0

213.34.12.4

21450

129.13.0.0

198.21.17.6

150

198.21.17.0

-

20

213. 34.12.0

-

10

default

198.21.17.7

1

В

- 38 - - 39 -

цій таблиці в стовпці "Адреса мережі призначення" указуються адреси всіх мереж, яким даний маршрутизатор може передавати пакети. В стеку TCP/IP прийнятий так званий однокроковий підхід до оптимізації маршруту просування пакету (next-hop routing) - кожний маршрутизатор і кінцевий вузол бере участь у виборі тільки одного кроку передачі пакету. Тому в кожному рядку таблиці маршрутизації вказується не весь маршрут у вигляді послідовності IP-адрес маршрутизаторів, через які повинен пройти пакет, а тільки одна IP-адреса - адреса наступного маршрутизатора, якому потрібно передати пакет. Разом з пакетом наступному маршрутизатору передається відповідальність за вибір наступного кроку маршрутизації. Однокроковий підхід до маршрутизації означає розподілене рішення задачі вибору маршруту. Це знімає обмеження на максимальну кількість транзитних маршрутизаторів на шляху пакету.

(Альтернативою одно кроковому підходу є вказівка в пакеті всієї послідовності маршрутизаторів, які пакет повинен пройти на своєму шляху. Такий підхід називається маршрутизацією від джерела - Source Routing. В цьому випадку вибір маршруту проводиться кінцевим вузлом або першим маршрутизатором на шляху пакету, а вся решта маршрутизаторів тільки відпрацьовує вибраний маршрут, здійснюючи комутацію пакетів, тобто передачу їх з одного порту на іншій. Алгоритм Source Routing застосовується в мережах IP тільки для від ладки, коли маршрут задається в полі Резерв (IP OPTIONS) пакету.)

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

При цьому під відстанню розуміється будь-яка метрика, що використовується відповідно до заданим в мережному пакеті класу сервісу. Це може бути кількість транзитних маршрутизаторів в даному маршруті (кількість хопов від hop - стрибок), час проходження пакету по лініях зв'язку, надійність ліній зв'язку, або інша величина, що відображає якість даного маршруту по відношенню до конкретного класу сервісу. Якщо маршрутизатор підтримує декілька класів сервісу пакетів, то таблиця маршрутів складається і застосовується окремо для кожного виду сервісу (критерію вибору маршруту).

Для відправки пакету наступному маршрутизатору потрібне знання його локальної адреси, але в стеку TCP/IP в таблицях маршрутизації прийнято використовування тільки IP-адрес для збереження їх універсального формату, не залежного від типу мереж, що входять в інтермережу. Для знаходження локальної адреси по відомій IP-адресі необхідно скористатися протоколом ARP.

Кінцевий вузол, як і маршрутизатор, має в своєму розпорядженні таблицю маршрутів уніфікованого формату і на підставі її даних ухвалює рішення, якому маршрутизатору потрібно передавати пакет для мережі N. Рішення про те, що цей пакет потрібно взагалі маршрутизувати, комп'ютер приймає у тому випадку, коли він бачить, що адреса мережі призначення пакету відрізняється від адреси його власної мережі (кожному комп'ютеру при конфігуруванні адміністратор привласнює його IP-адресу або декілька IP-адрес, якщо комп'ютер одночасно підключений до декількох мереж). Коли комп'ютер вибрав наступний маршрутизатор, то він проглядає кеш-таблицю адрес свого протоколу ARP і, можливо, знаходить там відповідність IP-адреси наступного маршрутизатора його MAC-адресі. Якщо ж ні, то по локальній мережі передається широкомовний ARP-запит і локальна адреса витягується з ARP-відповіді.

Після цього комп'ютер формує кадр протоколу, що використовується на вибраному порту, наприклад, кадр Ethernet, в який поміщає МАС-адресу маршрутизатора. Маршрутизатор приймає кадр Ethernet, витягує з нього пакет IP і проглядає свою таблицю маршрутизації для знаходження наступного маршрутизатора. При цьому він виконує ті ж дії, що і кінцевий вузол.

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

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

Іншим способом розвантаження комп'ютера від необхідності ведення великих таблиць маршрутизації є отримання від маршрутизатора відомостей про раціональний маршрут для якої-небудь конкретної мережі за допомогою протоколу ICMP.

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

С

- 40 - - 41 -

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

Записи в таблиці маршрутизації, що відносяться до мереж, безпосередньо підключеним до маршрутизатора, в полі "Відстань до мережі призначення" містять нулі.

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

Існують різні алгоритми побудови таблиць для одно крокової маршрутизації. Їх можна розділити на три класи:

  • алгоритми фіксованої маршрутизації

  • алгоритми простої маршрутизації

  • алгоритми адаптивної маршрутизації.

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