13.2 Пряма та непряма маршрутизація в ІР мережах

Пряма маршрутизація.

На малюнку показана невелика IP-мережа, що складається з 3 машин: A, B і C. Кожна машина має такий же стек протоколів TCP/IP. Кожен мережевий адаптер цих машин має свою Ethernet-адресу. Менеджер мережі повинен привласнити машинам унікальні IP-адреси.

Рис. Проста IP-мережа

Коли A посилає IP-пакет B, то заголовок IP-пакета містить у поле відправника IP-адреса вузла A, а заголовок Ethernet-кадру містить у поле відправника Ethernet-адреса A. Крім цього, IP-заголовок містить у поле одержувача IP-адреса вузла B, а Ethernet-заголовок містить у поле одержувача Ethernet-адреса B.

адреса відправник одержувач
IP-заголовок
Ethernet-заголовок
A

A

B

B

Табл. Адреси в Ethernet-кадрі, що передає IP-пакет від A до B.

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

У даному випадку при взаємодії A з B використовується пряма маршрутизація.

Подробиці прямої маршрутизації

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

Таблиця маршрутів у вузлі alpha виглядає так:

мережа прапор виду
маршрутизації
шлюз номер
інтерфейсу
development пряма <порожньо> 1

Табл. Приклад таблиці маршрутів

У даному простому прикладі усі вузли мережі мають однакові таблиці маршрутів.

Для порівняння нижче представлена та ж таблиця, але замість назви мережі зазначений її номер.

мережа прапор виду
маршрутизації
шлюз номер
інтерфейсу
223.1.2 пряма <порожньо> 1

Табл. Приклад таблиці маршрутів з номерами мереж.

Порядок прямої маршрутизації

Вузол alpha посилає IP-пакет вузлу beta. Цей пакет знаходиться в модулі IP вузла alpha, і IP-адреса місця призначення дорівнює IP-адресі beta (223.1.2.2). Модуль IP за допомогою маски підмережі виділяє номер мережі з IP-адреси і шукає відповідну йому рядок у таблиці маршрутів. У даному випадку підходить перший рядок.

Інша інформація в знайденому рядку вказує на то, що машини цієї мережі доступні прямо через інтерфейс номер 1. За допомогою ARP-таблиці виконується перетворення IP-адреси у відповідний Ethernet-адресу, і через інтерфейс 1 Ethernet-кадр посилається вузлу beta.

Якщо прикладна програма намагається послати дані по IP-адресі, що не належить мережі development, то модуль IP не зможе знайти відповідний запис у таблиці маршрутів. У цьому випадку модуль IP відкидає IP-пакет. Деякі реалізації протоколу повертають повідомлення про помилку “Мережа не доступна”.

Непряма маршрутизація

На малюнку представлена більш реалістична картина мережі internet. У даному випадку мережа internet складається з трьох мереж Ethernet, на базі яких працюють три IP-мережі, об’єднані шлюзом D. Кожна IP-мережа включає чотири машини; кожна машина має свої власні IP- і Ethernet адреси.

Рис. Мережа internet, що складається з трьох IP-мереж

За винятком D усі машини мають стек протоколів, аналогічний показаний на малюнку. Шлюз D з’єднує всі три мережі і, отже, має три IP-адреси і три Ethernet-адреси. Машина D має стек протоколів TCP/IP, але замість двох модулів ARP і двох драйверів, він містить три модулі ARP і три драйвери Ethernet. Оборотний увага на то, що машина D має тільки один модуль IP.

Менеджер мережі привласнює кожної мережі Ethernet унікальний номер, називаний IP-номером мережі.

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

Коли машина D взаємодіє з машиною A, та ця пряма взаємодія. Коли машина D взаємодіє з машиною E, та ця пряма взаємодія. Коли машина D взаємодіє з машиною H, та ця пряма взаємодія. Це так, оскільки кожна пара цих машин належить однієї IP-мережі.

Однак, коли машина A взаємодіє з машинами, включеними в іншу IP-мережу, то взаємодія вже не буде прямим. Машина A повинна використовувати шлюз D для ретрансляції IP-пакетів в іншу IP-мережу. Така взаємодія називається “непрямим”.

Маршрутизація IP-пакетів виконується модулями IP і є прозорої для модулів TCP, UDP і прикладних процесів.

Якщо машина A посилає машині E IP-пакет, то IP-адреса і Ethernet-адреса відправника відповідають адресам A. IP-адреса місця призначення є адресою E, але оскільки модуль IP у A посилає IP-пакет через D, Ethernet-адреса місця призначення є адресою D.

 

адреса  відправник одержувач
IP-заголовок
Ethernet-заголовок
A

A

E

D

Табл. Адреси в Ethernet-кадрі, що містить IP-пакет від A до E (до шлюзу D).

Модуль IP у машині D одержує IP-пакет і перевіряє IP-адреса місця призначення. Визначивши, що це не його IP-адреса, шлюз D посилає цей IP-пакет прямо до E.

адреса відправник одержувач
IP-заголовок
Ethernet-заголовок
A

D

E

E

Табл. Адреси в Ethernet-кадрі, що містить IP-пакет від A до E (після шлюз D)

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

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

Подробиці непрямої маршрутизації

Тепер розглянемо більш складний порядок маршрутизації в IP-мережі.

Таблиця маршрутів у вузлі alpha виглядає так:

мережа прапор виду
маршрутизації
шлюз номер
 інтерфейсу
development пряма <порожньо> 1
accounting непряма devnetrouter 1
factory непряма devnetrouter 1

Табл. Таблиця маршрутів у вузлі alpha.

Рис. Докладна схема трьох мереж

Та ж таблиця з IP-адресами замість назв.

мережа прапор виду
маршрутизації
шлюз номер
 інтерфейсу
223.1.2 пряма <порожньо> 1
223.1.3 непряма 223.1.2.4 1
223.1.4 непряма 223.1.2.4 1

Табл. Таблиця маршрутів у вузлі alpha (з номерами)

У стовпці “шлюз” таблиці маршрутів вузла alpha указується IP-адреса крапки з’єднання вузла delta з мережею development.

Порядок непрямої маршрутизації

Вузол alpha посилає IP-пакет вузлу epsilon. Цей пакет знаходиться в модулі IP вузла alpha, і IP-адреса місця призначення дорівнює IP-адресі вузла epsilon (223.1.3.2). Модуль IP виділяє мережевий номер з IP-адреси (223.1.3) і шукає відповідну йому рядок у таблиці маршрутів. Відповідність знаходиться в другому рядку.

Запис у цьому рядку вказує на то, що машини необхідної мережі доступні через шлюз devnetrouter. Модуль IP у вузлі alpha здійснює пошук у ARP-таблиці, за допомогою якого визначає Ethernet-адресу, що відповідає IP-адресі devnetrouter. Потім IP-пакет, що містить IP-адреса місця призначення epsilon, посилається через інтерфейс 1 шлюзу devnetrouter.

IP-пакет приймається мережним інтерфейсом у вузлі delta і передається модулю IP. Перевіряється IP-адреса місця призначення, і, оскільки він не відповідає жодному з власних IP-адрес delta, шлюз вирішує ретранслювати IP-пакет.

Модуль IP у вузлі delta виділяє мережевий номер з IP-адреси місця призначення IP-пакета (223.1.3) і шукає відповідний запис у таблиці маршрутів. Таблиця маршрутів у вузлі delta виглядає так:

мережа прапор виду
маршрутизації
шлюз номер
 інтерфейсу
development пряма <порожньо> 1
accounting пряма <порожньо> 2
factory пряма <порожньо> 3

Табл. Таблиця маршрутів у вузлі delta

Та ж таблиця з IP-адресами замість назв.

мережа прапор виду
маршрутизації
шлюз номер
 інтерфейсу
223.1.2 пряма <порожньо> 1
223.1.3 пряма <порожньо> 2
223.1.4 пряма <порожньо> 3

Табл. Таблиця маршрутів у вузлі delta (з номерами)

Відповідність знаходиться в другому рядку. Тепер модуль IP прямо посилає IP-пакет вузлу epsilon через інтерфейс номер 3. Пакет містить IP- і Ethernet-адреси місця призначення рівні epsilon.

Вузол epsilon приймає IP-пакет, і його модуль IP перевіряє IP-адреса місця призначення. Він відповідає IP-адресі epsilon, що тому міститься в IP-пакеті повідомлення передається протокольному модулю верхнього рівня.

Вибір маршруту засобами маршрутизаторів.

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

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

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

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

Адреса мережі призначення Адреса наступного маршрутизатора Номер вихідного порту Відстань до мережі призначення
56.0.0.0 198.21.17.7 1 20
56.0.0.0 213.34.12.4 2 130
116.0.0.0 213.34.12.4 2 1450
129.13.0.0 198.21.17.6 1 50
198.21.17.0 2 0
213. 34.12.0 1 0
default 198.21.17.7 1

 

У цій таблиці в стовпці “Адреса мережі призначення” вказуються адреси всіх мереж, яким даний маршрутизатор може передавати пакети. У стеку 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, у таблиці маршрутизації можуть зустрітися два типи спеціальних записів – запис про специфічний для вузла маршруті і запис про адреси мереж, безпосередньо підключених до портів маршрутизатора.

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

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

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

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

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

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

Фіксована маршрутизація

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

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

Проста маршрутизація

Алгоритми простої маршрутизації підрозділяються на три підкласи:

  • Випадкова маршрутизація – пакети передаються в будь-якому, випадковому напрямку, крім вихідного.
  • Лавинна маршрутизація – пакети передаються у всіх напрямках, крім вихідного (застосовується в мостах для пакетів з невідомою адресою доставки).
  • Маршрутизація по попередньому досвіду – таблиці маршрутів складаються на підставі даних, що містяться в минаючих через маршрутизатор пакетах. Саме так працюють прозорі мости, збираючи інформацію про адреси вузлів, що входять у сегменти мережі. Такий спосіб маршрутизації володіє повільної адаптируемостью до змін топології мережі.

Адаптивна маршрутизація

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

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

4.11. Спостереження за маршрутизацією.

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

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

Декілька більш спеціальна проблема зв’язана з бездисковими робочими станціями. По своїй природі бездискові машини сильно залежать від мережі і від файлів-серверів, з яких вони здійснюють завантаження програм, і де розташовується їхня область своппинга. Виконання програм, що стежать за широкомовними передачами в мережі, на бездискових машинах зв’язано з великими труднощями. Протоколи маршрутизації побудовані в основному на широкомовних передачах. Наприклад, усі мережні шлюзи можуть широкомовно передавати зміст своїх таблиць маршрутів через кожні 30 секунд. Програми, що стежать за такими передачами, повинні бути завантажені на бездискові станції через мережу. На досить зайнятій машині програми, що не використовуються протягом декількох секунд, звичайно відправляються в область своппинга. Тому програми, що стежать за маршрутизацією, велику частину часу знаходяться у своппинге. Коли вони знову активізуються, повинна вироблятися підкачування зі своппинга. Як тільки посилається широкомовне повідомлення, усі машини активізують програми, що стежать за маршрутизацією. Це приводить до того, що багато бездискових станцій будуть виконувати підкачування зі свопа в один і той же час. Тому в мережі виникне тимчасове перевантаження. Таким чином, виконання програм, що прослухують широкомовні передачі, на бездискових робочих станціях дуже небажано. Розглянемо тепер принципи, на підставі яких у мережах IP відбувається вибір маршруту передачі пакета між мережами.

 

4.12. Приклад взаємодії вузлів з використанням протоколу IP.

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

Рис. Приклад взаємодії комп’ютерів через інтермережу

Нехай у наведеному прикладі користувач комп’ютера cit.dol.ru, що знаходиться в мережі Ethernet з IP-адресою 194.87.23.0 (адреса класу З), хоче взаємодіяти по протоколі FTP з комп’ютером s1.msk.su, що належить мережі Ethernet з IP-адресою 142.06.0.0 (адреса класу В). Комп’ютер cit.dol.ru має IP-адреса 194.87.23.1.17, а комп’ютер s1.msk.su – IP-адреса 142.06.13.14.

  1. Користувач комп’ютера cit.dol.ru знає символьне ім’я комп’ютера s1.msk.su, але не знає його IP-адреси, тому він набирає команду

> ftp s1.msk.su

для організації ftp-сеансу.

У комп’ютері cit.dol.ru повинні бути задані деякі параметри для стека TCP/IP, щоб він міг виконати поставлену перед ним задачу.

У число цих параметрів повинні входити власна IP-адреса, IP-адреса DNS-сервера і IP-адреса маршрутизатора за замовчуванням. Тому що до мережі Ethernet, до якої відноситься комп’ютер cit.dol.ru, підключений тільки один маршрутизатор, то таблиця маршрутизації кінцевим вузлам цієї мережі не потрібна, досить знати IP-адресу маршрутизатора за замовчуванням. У даному прикладі він дорівнює 194.87.23.1.

Тому що користувач у команді ftp не задав IP-адресу вузла, з яким він хоче взаємодіяти, то стек TCP/IP повинен визначити його самостійно. Він може зробити запит до сервера DNS по наявному в нього IP-адресі, але звичайно кожен комп’ютер спочатку переглядає свою власну таблицю відповідності символьних імен і IP-адрес. Така таблиця зберігається найчастіше у виді текстового файлу простої структури – кожен його рядок містить запис про одне символьне ім’я і його IP-адресу. В ОС Unix такий файл традиційно має ім’я HOSTS.

  1. Будемо вважати, що комп’ютер cit.dol.ru має файл HOSTS, а в ньому є рядок

142.06.13.14 s1.msk.su.

Тому дозвіл імені виконується локально, так що протокол IP може тепер формувати IP-пакети з адресою призначення 142.06.13.14 для взаємодії з комп’ютером s1.msk.su.

  1. Протокол IP комп’ютера cit.dol.ru перевіряє, потрібно чи маршрутизувати пакети для адреси 142.06.13.14. Тому що адреса мережі призначення дорівнює 142.06.0.0, а адреса мережі, до якого належить комп’ютер, дорівнює 194.87.23.0, то маршрутизація необхідна.
  2. Комп’ютер cit.dol.ru починає формувати кадр Ethernet для відправлення IP-пакета маршрутизатору за замовчуванням з IP-адресою 194.87.23.1. Для цього йому потрібний Мас-адреса порту маршрутизатора, підключеного до його мережі. Ця адреса швидше за усе вже знаходиться в кеш-таблиці протоколу ARP комп’ютера, якщо він хоча б раз за останнє включення обмінювався даними з комп’ютерами інших мереж. Нехай ця адреса в нашому прикладі був знайдений саме в кеш-пам’яті. Позначимо його МАС11, відповідно до номера маршрутизатора і його порту.
  3. У результаті комп’ютер cit.dol.ru відправляє по локальній мережі кадр Ethernet, що має наступні поля:
DA (Ethernet) DESTINATION IP
МАС11 142.06.13.14
  1. Кадр приймається портом 1 маршрутизатора 1 відповідно до протоколу Ethernet, тому що МАС-узел цього порту розпізнає своя адреса МАС11. Протокол Ethernet витягає з цього кадру IP-пакет і передає його програмному забезпеченню маршрутизатора, що реалізує протокол IP. Протокол IP витягає з пакета адреса призначення і переглядає запису своєї таблиці маршрутизації. Нехай маршрутизатор 1 має у своїй таблиці маршрутизації запис

142.06.0.0 135.12.0.11 2 1,

яка говорить про то, що пакети для мережі 142.06.0.0 потрібно передавати маршрутизатору 135.12.0.11, підключеному до тієї ж мережі, що і порт 2 маршрутизатори 1.

  1. Маршрутизатор 1 переглядає параметри порту 2 і знаходить, що він підключений до мережі FDDI. Тому що мережа FDDI має значення максимального блоку, що транспортується, MTU більше, ніж мережа Ethernet, то фрагментація поля даних IP-пакета не потрібно. Тому маршрутизатор 1 формує кадр формату FDDI, у якому вказує MAC-адреса порту маршрутизатора 2, що він знаходить у своїй кеш-таблиці протоколу ARP:
DA (FDDI) DESTINATION IP
МАС21 142.06.13.14
  1. Аналогічно діє маршрутизатор 2, формуючи кадр Ethernet для передачі пакета маршрутизатору 3 по мережі Ethernet c IP-адресою 203.21.4.0:
DA (Ethernet) DESTINATION IP
МАС32 142.06.13.14
  1. Нарешті, після того, як пакет надійшов у маршрутизатор мережі призначення – маршрутизатор 3, з’являється можливість передачі цього пакета комп’ютеру призначення. Маршрутизатор 3 бачить, що пакет потрібно передати в мережу 142.06.0.0, що безпосередньо підключена до його першого порту. Тому він посилає ARP-запит по мережі Ethernet c IP-адресою комп’ютера s1.msk.su (вважаємо, що цієї інформації в його кеші немає), одержує відповідь, що містить адресу MACs1, і формує кадр Ethernet, що доставляє IP-пакет по локальній мережі адресату.
DA (Ethernet) DESTINATION IP
МАС1 142.06.13.14