Початок форми p>
Кінець форми p>
RFC1180 Сімейство протоколів TCP/IP в перекладі Брежнєва і Смілянського p>
Оригінал - RFC1180 T. Socolofsky and C. Kale http :// www.alcpress.com/rfc/tcpip/rfc1180.htm p>
Переклад з англійської: Брежнєв А.Ф., Смілянський Р.Л. p>
Зміст p>
1. Вступ ................................................. ...... 1 p>
2. Основи TCP/IP .............................................. .... 1 p>
2.1. Модуль IP створює єдину логічну мережу ..................... 1
2.2. Структура зв'язків протокольних модулів ........................ 2
2.3. Термінологія ................................................. 3
2.4. Потоки даних ................................................ 3
2.5. Робота з кількома мережевими інтерфейсами ................... 5 p>
3. Ethernet ................................................. ...... 6
3.1. Аналогія з розмовою ........................................ 7 p>
4. Протокол ARP ................................................ ... 7
4.1. ARP-таблиця для перетворення адрес ....................... 8
4.2. Порядок перетворення адрес ............................... 8
4.3. Запити та відповіді протоколу ARP ............................... 9
4.4. Продовження перетворення адрес ........................... 10 p>
5. Межсетевой протокол IP ......................................... 11
5.1. Пряма маршрутизація ......................................... 11
5.2. Непряма маршрутизація ...................................... 12
5.3. Правила маршрутизації в модулі IP ............................ 14
5.4. IP-адреса ............................................... ...... 15
5.5. Вибір адреси ................................................ . 17
5.6. Підмережі ................................................. ..... 17
5.7. Як призначати номери мереж і підмереж ........................ 18
5.8. Імена ................................................. ....... 19
5.9. IP-таблиця маршрутів ......................................... 20
5.10. Подробиці прямий маршрутизації ............................ 21
5.11. Порядок прямий маршрутизації ................................ 22
5.12. Подробиці непрямої маршрутизації ......................... 22
5.13. Порядок непрямої маршрутизації ............................. 23 p>
6. Встановлення маршрутів ............................................ 25
6.1. Фіксовані маршрути ....................................... 25
6.2. Перенаправлення маршрутів .................................... 26
6.3. Слідкування за маршрутизацією ................................... 28
6.4. Протокол ARP з представником ................................ 30 p>
7. Протокол UDP ................................................ ... 32
7.1. Порти ................................................. ....... 33
7.2. Контрольне підсумовування ..................................... 33 p>
8. Протокол TCP ................................................ ... 34 p>
9. Протоколи прикладного рівня ................................... 35
9.1. Протокол TELNET .............................................. 36
9.2. Протокол FTP ................................................ . 37
9.3. Протокол SMTP ................................................ 37
9.4. r-команди ............................................... ..... 37
9.5. NFS ................................................. ......... 38
9.6. Протокол SNMP ................................................ 38
9.7. X-Window ............................................... ...... 38 p>
10. Взаємозалежність протоколів сімейства TCP/IP ................. 39 p>
Додаток 1. Путівник по RFC ................................. 40 p>
Додаток 2. Стандарти сімейства протоколів TCP/IP ............... 75 p>
- 11 - p>
* 1. Введення * p>
Сімейство протоколів TCP/IP широко застосовується в усьому світі дляоб'єднання комп'ютерів в мережу Internet. Єдина мережа Internet складається збезлічі мереж різної фізичної природи, від локальних мереж типу
Ethernet і Token Ring, до глобальних мереж типу NSFNET. Основне ваги питан -ня в книзі приділяється принципам організації міжмережевої взаємодії.
Багато технічні деталі, історичні питання опущені. Більш докладнуінформацію про протоколи TCP/IP можна знайти в RFC (Requests For Comments)
- Спеціальних документах, що випускаються Мережевим Інформаційним Центром
(Network Information Center - NIC). Додаток 1 містить путівникпо RFC, а додаток 2 відображає стан справ в галузі стандартизаціїпротоколів сімейства TCP/IP на початок 1991 року. p>
У книзі наводяться приклади, засновані на реалізації TCP/IP в ОС
UNIX. Однак основні положення застосовуються до всіх реалізацій TCP/IP. P>
Сподіваюся, що ця книга буде корисна тим, хто професійно робо -тане або збирається почати працювати в середовищі TCP/IP: системним адміністра -Торам, системним програмістам і менеджерам мережі. p>
* 2. Основи TCP/IP * p>
Термін "TCP/IP" зазвичай означає все, що пов'язано з протоколами TCPта IP. Він охоплює ціле сімейство протоколів, прикладні програми танавіть саму мережу. До складу сімейства входять протоколи UDP, ARP, ICMP, TEL-
NET, FTP і багато інших. TCP/IP - це технологія міжмережевої взаємодіїдії, технологія internet. Мережа, що використовує технологіюinternet, називається "internet". Якщо мова йде про глобальну мережу, обсягів по -диня безліч мереж з технологією internet, то її називають Internet. p>
2.1. Модуль IP створює єдину логічну мережу p>
Архітектура протоколів TCP/IP призначена для об'єднаної мережі,що складається із з'єднаних один з одним шлюзами окремих різноріднихпакетних підмереж, до яких підключаються різнорідні машини. Кожна зпідмереж працює у відповідності зі своїми специфічними вимогами імає свою природу засобів зв'язку. Однак передбачається, що кожна під -мережа може прийняти пакет інформації (дані з відповідним мережевимзаголовком) і доставити його за вказаною адресою в цій конкретній під- p>
- 22 - p>
мережі. Не потрібно, щоб підмережа гарантувала обов'язкову доставкупакетів і мала надійний наскрізний протокол. Таким чином, дві машини,підключені до однієї підмережі можуть обмінюватися пакетами. p>
Коли необхідно передати пакет між машинами, підключеними до раз -вим підмережах, то машина-відправник посилає пакет у відповідний шлюз
(шлюз підключений до підмережі також як звичайний вузол). Звідти пакет направ -ляется за визначеним маршрутом через систему шлюзів і підмереж, поки недосягне шлюзу, підключеного до тієї ж підмережі, що й машина-одержувач;там пакет направляється до одержувача. Об'єднана мережа забезпечуєдатаграммним сервіс. p>
Проблема доставки пакетів в такій системі вирішується шляхом реалізаціїу всіх вузлах і шлюзах мережевого протоколу IP. Межсетевой рівеньє власне кажучи базовим елементом у всій архітектурі протоколів,забезпечуючи можливість стандартизації протоколів верхніх рівнів. p>
2.2. Структура зв'язків протокольних модулів p>
Логічна структура мережного програмного забезпечення, що реалізуєпротоколи сімейства TCP/IP в кожному вузлі мережі internet, зображена нарис.1. Прямокутники позначають обробку даних, а лінії, що з'єднуютьпрямокутники, - шляхи передачі даних. Горизонтальна лінія внизумалюнка позначає кабель мережі Ethernet, яка використовується якприклад фізичного середовища; "o" - це трансивер. Знак "*" - позначає p>
------------------------------ p>
| прикладні процеси | p>
| ... |/... |/... | p>
| ------- ------- | p>
| | TCP | | UDP | | p>
| --- ---- ------- | p>
|/| p>
| ------ | p>
| ----- - | IP | | p>
| | ARP | -*---- | p>
| ------- | | p>
| | | p>
| -------- | p>
| | ENET | | p>
| ---@---- | p >
| | | p>
------------|----------------- p>
| p>
------------------- o -------- кабель Ethernet p>
Рис.1. Структура протокольних модулів у вузлі мережі TCP/IP p>
- 33 - p>
IP-адресу, а "@" - адреса вузла в мережі Ethernet (Ethernet-адресу). Розумінняцієї логічної структури є основою для розуміння всієї технологіїinternet. Надалі ми будемо часто посилатися на цю схему. P>
2.3. Термінологія p>
Введемо ряд базових термінів, які ми будемо використовувати в даль -дальшої. p>
Драйвер - це програма, що безпосередньо взаємодіє з мережнимадаптером. Модуль - це програма, що взаємодіє з драйвером, сеті -вимі прикладними програмами або іншими модулями. Драйвер мережногоадаптера і, можливо, інші модулі, специфічні для фізичної мережіпередачі даних, надають мережевий інтерфейс для протокольних модулівсімейства TCP/IP. p>
Назва блоку даних, що передається по мережі, залежить від того, наякому рівні стека протоколів він знаходиться. Блок даних, з яким маєсправа мережевий інтерфейс, називається кадром; якщо блок даних знаходитьсяміж мережевим інтерфейсом і модулем IP, то він називається IP-пакетом, якщовін - між модулем IP і модулем UDP, то - UDP-датаграм; якщо міжмодулем IP і модулем TCP, то - TCP-сегментом (або транспортним спільнота -ням); нарешті, якщо блок даних знаходиться на рівні мережевих прикладнихпроцесів, то він називається прикладним повідомленням. p>
Ці визначення, звичайно, недосконалі і неповні. До того ж вонизмінюються від публікації до публікації. Більш докладні визначенняможна знайти в RFC-1122, розділ 1.3.3. p>
2.4. Потоки даних p>
Розглянемо потоки даних, що проходять через стек протоколів, зображеніженний на рис.1. У разі використання протоколу TCP (Transmission Con -trol Protocol - протокол управління передачею), дані передаються міжприкладним процесом і модулем TCP. Типовим прикладним процесом,що використовують протокол TCP, є модуль FTP (File Transfer Protocol --протокол передачі файлів). Стек протоколів у цьому випадку буде
FTP/TCP/IP/ENET. При використанні протоколу UDP (User Datagram Protocol
- Протокол призначених для користувача датаграм), дані передаються між приклад -вим процесом і модулем UDP. Наприклад, SNMP (Simple Network Management
Protocol - простий протокол управління мережею) користується транспортнимипослугами UDP. Його стек протоколів виглядає так: SNMP/UDP/IP/ENET. P>
Модулі TCP, UDP і драйвер Ethernet є мультиплексорами nx 1.
Діючи як мультиплексори, вони перемикають кілька входів на одинвихід. Вони також є демультиплексор 1 x n. Як демультіплек -сори, вони перемикають один вхід на один з багатьох виходів відповідноз полем типу в заголовку протокольного блоку даних (рис.2). p>
Коли Ethernet-кадр потрапляє в драйвер мережевого інтерфейсу Ethernet,він може бути направлений або в модуль ARP (Address Resolution Protocol --адресний протокол), або в модуль IP (Internet Protocol - міжмережевий про -токол). На те, куди повинен бути спрямований Ethernet-кадр, вказує зна -чення поля типу в заголовку кадру. p>
Якщо IP-пакет потрапляє в модуль IP, то що містяться в ньому даніможуть бути передані або модулю TCP або UDP, що визначається полем
"протокол" у заголовку IP-пакету. p>
Якщо UDP-датаграма потрапляє в модуль UDP, то на підставі значенняполя "порт" у заголовку датаграми визначається прикладна програма,якої має бути передано прикладне повідомлення. Якщо TCP-повідомленняпотрапляє в модуль TCP, то вибір прикладної програми, якою має бутипередано повідомлення, здійснюється на основі значення поля "порт" в заго -спритно TCP-повідомлення. p>
Мультиплексування даних у зворотний бік здійснюєтьсядосить просто, тому що з кожного модуля існує тільки один шляхвниз. Кожен протокольний модуль додає до пакету свій заголовок, напідставі якого машина, яка прийняла пакет, виконує демультіплексірова -ние. p>
1 2 3 .... n | 1 2 3 .... n ^ p>
| |/| | |/| p>
----------------- потік -------- ----------- потік p>
| мультиплексор | даних | демультиплексор | даних p>
---------------- - | ------------------- | p>
| | ^ | v V | | p>
1 1 p>
Рис.2. Мультиплексор nx 1 і демультиплексор 1 xn p>
- 55 - p>
Дані від прикладного процесу проходять через модулі TCP або UDP,після чого потрапляють в модуль IP і звідти - на рівень мережевого інтер -фейс. p>
Хоча технологія internet підтримує багато різних середовищ передачіданих, тут ми будемо припускати використання Ethernet, так яксаме це середовище найчастіше служить фізичною основою для IP-мережі.
Машина на рис.1 має одну точку з'єднання з Ethernet. Шестібайтний
Ethernet-адреса є унікальним для кожного мережевого адаптера і рас -пізнається драйвером. p>
Машина має також четирехбайтний IP-адресу. Ця адреса позначаєточку доступу до мережі на інтерфейсі модуля IP з драйвером. IP-адреса дол -дружин бути унікальним в межах всієї мережі Internet. p>
Працююча машина завжди знає свою IP-адресу і Ethernet-адресу. p>
2.5. Робота з кількома мережевими інтерфейсами p>
Машина може бути підключена одночасно до кількох середах пере -дачі даних. На рис.3 показана машина з двома мережевими інтерфейсами Eth -ernet. Зауважимо, що вона має 2 Ethernet-адреси та 2 IP-адреси. P>
З представленої схеми видно, що для машин з декількома мережевимиінтерфейсами модуль IP виконує функції мультиплексора nxm і Демулен -тіплексора mxn (рис.4). p>
--------------------------------- p>
| прикладні процеси | p>
| ... |/.... |/... | p>
| ------- ------- | p>
| | TCP | | UDP | | p>
| --- ---- ------- | p>
|/| p>
| ------ | p>
| ----- - | IP | ------- | p>
| | ARP | -*--*- | ARP | | p>
| ------- | | ------- | p>
| | |/| p>
| -------- -------- | p>
| | ENET | | ENET | | p>
| ---@---- ---@---- | p>
| | | | p >
----------|---------|------------ p>
| | p>
| --- o --------------- p>
-------------- o ---- Ethernet 2 p>
Ethernet 1 p>
Рис.3. Вузол мережі TCP/IP з двома мережевими інтерфейсами p>
- 66 - p>
1 2 3 .... n | 1 2 3 ...... n ^ p>
| |/| | |/| p>
----------------- потік -------- ----------- потік p>
| мультиплексор | даних | демультиплексор | даних p>
---------------- - | ------------------- | p>
/| | ... V/| | ..... | p>
1 2 3 m 1 2 3 m p>
Рис.4. Мультиплексор nxm і демультиплексор mxn p>
Таким чином, він здійснює мультиплексування вхідних і вихіднихданих в обох напрямках. Модуль IP в даному випадку складніше, ніж упершому прикладі, тому що може передавати дані між мережами. Даніможуть надходити через будь-який мережевий інтерфейс і бути ретранслюватичерез будь-який мережевий інтерфейс. Процес передачі пакету в іншумережа називається ретрансляцією IP-пакету. Машина, що виконує ретранслят -цію, називається шлюзом. [1] p>
Як показано на рис.5, ретранслюється пакет не передається модулям
TCP або UDP. Деякі шлюзи взагалі можуть не мати модулів TCP і UDP. P>
* 3. Ethernet * p>
У цьому розділі ми коротко розглянемо технологію Ethernet. P>
Кадр Ethernet містить адресу призначення, адреса джерела, поле типуі дані. Розмір адреса в Ethernet - 6 байт. Кожен мережевий адаптермає свій Ethernet-адресу. Адаптер контролює обмін інформацією, про- p>
------- ------- p>
| TCP | | UDP | p>
-- ----- ------- p>
/ p>
---------- p>
| | p>
| IP | p>
| ____ | p>
|/| p>
---------- p>
/дані дані надходять відправляються звідси сюди p>
Рис.5. Приклад міжмережевий ретрансляції пакету модулем IP p>
____________________ p>
[1] У документації по TCP/IP терміни шлюз (gateway) і IP -маршрутизатор (IP-router) часто використовуються як синоніми. Ми вважали за мож -можна використовувати більш поширений термін "шлюз".вихідний в мережі, і приймає адресовані йому Ethernet-кадри, а також
Ethernet-кадри з адресою "FF: FF: FF: FF: FF: FF" (у 16-річної системі), кото -рий означає "всім", і використовується при широкомовної передачі. p>
Ethernet реалізує метод МДКН/ОС (множинний доступ з контролемнесучої і виявленням зіткнень). Метод МДКН/ОС припускає, щовсі пристрої взаємодіють в одному середовищі, в кожен момент часуможе передавати тільки один пристрій, а приймати можуть всі одночасним -обелівську. Якщо два пристрої намагаються передавати одночасно, то відбувалосядит зіткнення передач, і обидва пристрої після випадкового (короткого)періоду очікування намагаються знову виконати передачу. p>
3.1. Аналогія з розмовою p>
Доброю аналогією взаємодій у середовищі Ethernet може служитирозмова групи ввічливих людей в невеличкій темній кімнаті. При цьому ана -логіей електричним сигналами в коаксіальному кабелі служать звукові хвилів кімнаті. p>
Кожна людина чує мова інших людей (контроль несучої). Всілюди в кімнаті мають однакові можливості вести розмову (множиннийдоступ), але ніхто не говорить занадто довго, тому що всі ввічливі. Якщолюдина буде невежлів, то його попросять вийти (тобто видалять з мережі).
Всі мовчать, поки хто-то говорить. Якщо двоє людей починають говоритиодночасно, то вони відразу виявляють це, оскільки чують один одного
(виявлення зіткнень). У цьому випадку вони замовкають і чекають деякийчас, після чого один з них знову починає розмову. Інші люди чути -шат, що ведеться розмова, і чекають, поки він скінчиться, а потім можуть початиговорити самі. Кожна людина має власне ім'я (аналог унікального
Ethernet-адреси). Кожного разу, коли хтось починає говорити, вінназиває на ім'я того, до кого звертається, і своє ім'я, наприклад, "Слухай
Петя, це Андрій, ... ля-ля-ля ... "Якщо хтось хоче звернутися до всіх,то він каже: "Слухайте всі, це Андрій, ... ля-ля-ля ..." (шіроковеща -тельно передача). p>
* 4. Протокол ARP * p>
У цьому розділі ми розглянемо те, як під час здійснення IP-пакету визначаються -ється Ethernet-адреса призначення. Для відображення IP-адрес в Ethernet -адреси використовується протокол ARP (Address Resolution Protocol - адреснийпротокол). Відображення виконується лише для відправляються IP-пакетів,тому що тільки в момент відправлення створюються заголовки IP та Ethernet. p>
4.1. ARP-таблиця для перетворення адрес p>
Перетворення адрес виконується шляхом пошуку в таблиці. Ця таб -особи, яка називається ARP-таблицею, зберігається в пам'яті і містить рядки длякожного вузла мережі. У двох стовпці містять IP-та Ethernet-адреси.
Якщо потрібно перетворити IP-адресу в Ethernet-адресу, то шукається записз відповідним IP-адресою. Нижче наведено приклад спрощеної ARP -таблиці. p>
----------------------------------------- ---- p>
| IP-адреса Ethernet-адреса | p>
------------------------ --------------------- p>
| 223.1.2.1 08:00:39:00:2 F: C3 | p>
| 223.1.2.3 08:00:5 A: 21: A7: 22 | p>
| 223.1.2.4 08:00:10:99: AC: 54 | p>
--- ------------------------------------------ p>
Табл .1. Приклад ARP-таблиці p>
Прийнято всі байти 4-байтного IP-адреси записувати десятковими чис -лами, розділеними крапками. Під час запису 6-байтного Ethernet-адреси коженбайт вказується в 16-річної системі і відокремлюється двокрапкою. p>
ARP-таблиця необхідна тому, що IP-адрЕСА і Ethernet-адреси вибі -раются незалежно, і немає якого-небудь алгоритму для перетворення одногов іншій. IP-адресу вибирає менеджер мережі з урахуванням положення машини вмережі internet. Якщо машину переміщують в іншу частину мережі internet, тоїї IP-адреса має бути змінений. Ethernet-адресу вибирає виробникмережевого інтерфейсного обладнання з виділеного для нього за ліцензієюадресного простору. Коли у машини замінюється плата мережевого АДАП -тера, то змінюється і її Ethernet-адресу. p>
4.2. Порядок перетворення адрес p>
В ході звичайної роботи мережна програма, така як TELNET, відправ -ляєт прикладне повідомлення, користуючись транспортними послугами TCP. Модуль
TCP посилає відповідне транспортне повідомлення через модуль IP. Урезультаті складається IP-пакет, який має бути переданий драйверу
Ethernet. IP-адреса місця призначення відома прикладній програмі,модулю TCP та модулю IP. Необхідно на його основі знайти Ethernet-адресамісця призначення. Для визначення шуканого Ethernet-адреси використовується
ARP-таблиця. P>
4.3. Запити та відповіді протоколу ARP p>
Як же заповнюється ARP-таблиця? Вона заповнюється автоматично моду -лем ARP, у міру необхідності. Коли за допомогою існуючої ARP-таблиціне вдається перетворити IP-адресу, то відбувається наступне: p>
1) За мережі передається широкомовна ARP-запит. p>
2) Вихідний IP-пакет ставиться в чергу. p> < p> Кожний мережний адаптер приймає широкомовні передачі. Всідрайвери Ethernet перевіряють поле типу в прийнятому Ethernet-кадрі і пере -дають ARP-пакети модулю ARP. ARP-запит можна інтерпретувати так: "Якщоваш IP-адреса збігається з зазначеним, то повідомте мені вашу Ethernet-адресу ".
Пакет ARP-запиту виглядає приблизно так: p>
----------------------------------- ------------------------ p>
| IP-адреса відправника 223.1.2.1 | p>
| Ethernet - адреса відправника 08:00:39:00:2 F: C3 | p>
----------------------------- ------------------------------ p>
| Бажаємий IP-адреса 223.1.2.2 | p>
| Бажаємий Ethernet-адреса | p>
---------------------------------- ------------------------- p>
Табл.2. Приклад ARP-запиту p>
Кожний модуль ARP перевіряє поле шуканого IP-адреси в отриманому
ARP-пакеті і, якщо адреса збігається з його власною IP-адресою, то поси -гавкає відповідь прямо за Ethernet-адресою відправника запиту. ARP-відповідь можнаінтерпретувати так: "Так, це мій IP-адресу, йому відповідає такий-то
Ethernet-адресу ". Пакет з ARP-відповіддю виглядає приблизно так: p>
----------------------------- ------------------------------ p>
| IP-адреса відправника 223.1.2.2 | p>
| Ethernet-адреса відправника 08:00:28:00:38: A9 | p>
----------------------- ------------------------------------ p>
| Бажаємий IP-адреса 223.1. 2.1 | p>
| Бажаємий Ethernet-адреса 08:00:39:00:2 F: C3 | p>
----------------- ------------------------------------------ p>
Табл .3. Приклад ARP-відповіді p>
Ця відповідь одержує машина, що зробила ARP-запит. Драйвер цієїмашини перевіряє поле типу в Ethernet-кадрі й передає ARP-пакет модулю
ARP. Модуль ARP аналізує ARP-пакет і додає запис у свою ARP -таблицю. p>
Оновлена таблиця виглядає наступним чином: p>
---------------------------- ----------------- p>
| IP-адреса Ethernet-адреса | p>
----------- ---------------------------------- p>
| 223.1.2.1 08:00:39 : 00:2 F: C3 | p>
| 223.1.2.2 08:00:28:00:38: A9 | p>
| 223.1.2.3 08:00:5 A: 21: A7 : 22 | p>
| 223.1.2.4 08:00:10:99: AC: 54 | p>
----------------- ---------------------------- p>
Табл.4. ARP-таблиця після обробки відповіді p>
4.4. Продовження перетворення адрес p>
Новий запис в ARP-таблиці з'являється автоматично, через ніс -колько мілісекунд після того, як вона була потрібна. Як ви пам'ятаєте,раніше на кроці 2 вихідний IP-пакет був поставлений в чергу. Тепер звикористанням оновленої ARP-таблиці виконується перетворення IP -адреса в Ethernet-адресу, після чого Ethernet-кадр передається по мережі.
Повністю порядок перетворення адрес виглядає так: p>
1) За мережі передається широкомовна ARP-запит. P>
2) Вихідний IP-пакет ставиться в чергу. P>
3) Повертається ARP-відповідь, що містить інформацію про відповідність IP-і p>
Ethernet-адрес. Ця інформація заноситься в ARP-таблицю. P>
4) Для перетворення IP-адреси в Ethernet-адресу у IP-пакету, постав-ленного в чергу, використовується ARP-таблиця. P>
5 ) Ethernet-кадр передається по мережі Ethernet. p>
Коротше кажучи, якщо за допомогою ARP-таблиці не вдається відразу здійснювала -вити перетворення адрес, то IP-пакет ставиться в чергу, а необхід -Травень для перетворення інформація виходить за допомогою запитів і відповідейпротоколу ARP, після чого IP-пакет передається за призначенням. p>
Якщо в мережі немає машини з шуканим IP-адресою, то ARP-відповіді не будеі не буде запису в ARP-таблиці. Протокол IP буде знищувати IP-пакети,направляються за цією адресою. Протоколи верхнього рівня не можуть отли -чити випадок пошкодження мережі Ethernet від випадку відсутності машини з іско -мим IP-адресою. p>
які реалізації IP та ARP не ставлять у чергу IP-пакети на течас, поки вони чекають ARP-відповідей. Замість цього IP-пакет просто знищуючи -ється, а його відновлення покладається на модуль TCP або прикладної про -процес, що працює через UDP. Таке відновлення виконується за допомогоюзатримок та повторних передач. Повторна передача повідомлення проходитьуспішно, так як перша спроба вже викликала заповнення ARP-таблиці. p>
Слід зазначити, що кожна машина має окрему ARP-таблицю длякожного свого мережевого інтерфейсу. p>
* 5. Межсетевой протокол IP * p>
Модуль IP є базовим елементом технології internet, а цент -ральний частиною IP є його таблиця маршрутів. Протокол IP використовуєцю таблицю при прийнятті всіх рішень про маршрутизації IP-пакетів. Содер -жаніе таблиці маршрутів визначається адміністратором мережі. Помилки привстановлення маршрутів можуть заблокувати передачі. p>
Щоб зрозуміти техніку міжмережевої взаємодії, потрібно зрозуміти те,як використовується таблиця маршрутів. Це розуміння необхідне для успішний -ного адміністрування та супроводження IP-мереж. p>
5.1. Пряма маршрутизація p>
На рис.6 показана невелика IP-мережу, що складається з 3 машин: A, B і C.
Кожна машина має такий же стек протоколів TCP/IP як на мал.1. Коженмережевий адаптер цих машин має свій Ethernet-адресу. Менеджер мережі дол -дружин привласнити машин унікальні IP-адреси. p>
ABC p>
| | | p>
-------------- o -- ---- o ------ o ------ p>
Ethernet 1 p>
IP-мережа "development" p>
Рис.6 . Проста IP-мережа p>
Коли A посилає IP-пакет B, то заголовок IP-пакета містить у полівідправника IP-адреса вузла A, а заголовок Ethernet-кадр "містить в полевідправника Ethernet-адреса A. Крім цього, IP-заголовок містить у поліодержувача IP-адреса вузла B, а Ethernet-заголовок містить у полі отримай -теля Ethernet-адреса B. p>
------------------------------------- ---------------- p>
| адреса відправник одержувач | p>
--------------- -------------------------------------- p>
| IP-заголовок AB | p>
| Ethernet-заголовок AB | p>
----------------------------- ------------------------ p>
табл.5. Адреса в Ethernet-кадрі, що передає IP-пакет від A до B p>
У цьому простому прикладі протокол IP є надмірністю, якемало що додає до послуг, що надаються мережею Ethernet. Однакпротокол IP вимагає додаткових витрат на створення, передачу і обра -лення IP-заголовка. Коли в машині B модуль IP отримує IP-пакет відмашини A, він зіставляє IP-адреса місця призначення зі своїм і, якщоадреси співпадають, то передає датаграм протоколу верхнього рівня. p>
У даному випадку при взаємодії A з B використовується пряма маршрутів -тізація. p>
5.2. Непряма маршрутизація p>
На рис.7 представлена більш реалістична картина мережі internet. Уданому випадку мережа internet складається з трьох мереж Ethernet, на базі кото -яких працюють три IP-мережі, об'єднані шлюзом D. Кожна IP-мережа включаєчотири машини, кожна машина має свої власні IP-і Ethernet -адреси. p>
----- D ------- p>
ABC | | | EFG p>
| | | | | | | | | p>
---- o ----- o ----- o ----- o - | - o ----- o ----- o -- --- o --- p>
Ethernet 1 | Ethernet 2 p>
IP-мережа "development" | IP-мережа "accounting" p>
| p >
| HIJ p>
| | | | p>
- o ---- o ----- o ----- o ------ ---- p>
Ethernet 3 p>
IP-мережа "fuctory" p>
Рис.7. Мережа internet, що складається з трьох IP-мереж p>
За винятком D всі машини мають стек протоколів, аналогічний поки -занному на рис.1. Шлюз D з'єднує всі три мережі, а отже, маєтри IP-адреси і три Ethernet-адреси. Машина D має стек протоколів
TCP/IP, схожий на той, що показаний на рис.3, але замість двох модулів ARPі двох драйверів, він містить три модулі ARP і три драйвера Ethernet.
Звернемо увагу на те, що машина D має тільки один модуль IP. P>
Менеджер мережі присвоює кожній мережі Ethernet унікальний номер,звана IP-номером мережі. На рис.7 IP-номера не показані, замість нихвикористовуються імена мереж. p>
Коли машина A посилає IP-пакет машині B, то процес передачі йдев межах однієї мережі. При всіх взаємодіях між машинами, подклю -ченнимі до однієї IP-мережі, використовується пряма маршрутизація, що обговорювалисяв попередньому прикладі. p>
Коли машина D взаємодіє з машиною A, то це пряме взаємо -дію. Коли машина D взаємодіє з машиною E, то це пряме вза -имодействия. Коли машина D взаємодіє з машиною H, то це прямевзаємодія. Це так, оскільки кожна пара цих машин належитьоднієї IP-мережі. p>
Проте, коли машина A взаємодіє з машинами, включеними віншу IP-мережу, то взаємодія вже не буде прямим. Машина A повиненвикористовувати шлюз D для ретрансляції IP-пакетів в іншу IP-мережу. Такевзаємодія називається "непрямим". p>
Маршрутизація IP-пакетів виконується модулями IP і є прозорості -ної для модулів TCP, UDP і прикладних процесів. p>
Якщо машина A посилає машині E IP-пакет, то IP-адресу і Ethernet -адреса відправника відповідають адресами A. IP-адреса місця призначенняє адресою E, але оскільки модуль IP в A посилає IP-пакет через D,
Ethernet-адреса місця призначення є адресою D. p>
---------------------------------- ------------------ p>
| адреса відправник одержувач | p>
------------- --------------------------------------- p>
| IP-заголовок AE | p>
| Ethernet-заголовок AD | p>
---------------------------- ------------------------ p>
табл.6. Адреса в Ethernet-кадрі, що містить IP-пакет від A до E p>
(до шлюзу D) p>
Модуль IP в машині D одержує IP-пакет і перевіряє IP-адреса місцяпризначення. Визначивши, що це не його IP-адреса, шлюз D посилає цей
IP-пакет прямо до E. p>
------------------------------------ ---------------- p>
| адреса відправник одержувач | p>
--------------- ------------------------------------- p>
| IP-заголовок AE | p>
| Ethernet-заголовок DE | p>
------------------------------ ---------------------- p>
Табл.7. Адреса в Ethernet-кадрі, що містить IP-пакет від A до E p>
(після шлюз D) p>
Отже, при прямій маршрутизації IP-та Ethernet-адреса відправникавідповідають адресами того вузла, який послав IP-пакет, а IP-і
Ethernet-адреси місця призначення відповідають адресами одержувача. Принепрямої маршрутизації IP-та Ethernet-адреси не утворюють таких пар. p>
У даному прикладі мережа internet є дуже простою. Реальнімережі можуть бути набагато складніше, тому що можуть містити кілька шлюзіві кілька типів фізичних середовищ передачі. У наведеному прикладі ніс -колько мереж Ethernet об'єднуються шлюзом для того, щоб локалізуватиширокомовна трафік в кожній мережі. p>
5.3. Правила маршрутизації в модулі IP p>
Вище ми показали, що відбувається при передачі повідомлень, а теперрозглянемо правила або алгоритм маршрутизації. p>
Для відправляються IP-пакетів, що надходять від модулів верхнього рівня,модуль IP повинен визначити спосіб доставки - прямий або непрямий - івибрати мережевий інтерфейс. Цей вибір робиться на підставі результатівпошуку в таблиці маршрутів. p>
Для прийнятих IP-пакетів, що надходять від мережевих драйверів, модуль
IP повинен вирішити, чи потрібно ретранслювати IP-пакет з іншої мережі абопередати його на верхній рівень. Якщо модуль IP вирішить, що IP-пакет дол -дружин бути передавати, то подальша робота з ним здійснюється також,як з відправляються IP-пакетами. p>
Вхідний IP-пакет ніколи не ретранслюється через той же мережевийінтерфейс, через який він був прийнятий. p>
Рішення про маршрутизації приймається до того, як IP-пакет передаєтьсямережевого драйвера, і до того, як відбувається звернення до ARP-таблиці. p>
5.4. IP-адреса p>
Менеджер мережі присвоює IP-адреси машин відповідно до того, дояким IP-мереж вони підключені. Старші біти 4-х байтного IP-адреси визна -ділячи кімнату IP-мережі. Частина IP-адреси - номер вузла (хост -номер). Для машини з табл.1 з IP-адресою 223.1.2.1 мережевий номер рівний
223.1.2, а хост-номер - 1. Нагадаємо, що IP-адреса вузла ідентифікуєточку доступу модуля IP до мережевого інтерфейсу, а не всю машину. p>
Існують 5 класів IP-адрес, що відрізняються кількістю біт умережному номері і хост-номері. Клас адреси визначається значенням йогоперший октету. p>
У табл.8 наведено відповідність класів адрес значень першимоктету і вказано кількість можливих IP-адрес кожного класу. p>
0 8 16 24 31 p>
-------------------- ------------------------------- p>
Клас A | 0 | номер мережі | номер вузла |
-------------------------------------------- ------- p>
------------------------------------ --------------- p>
Клас B | 10 | номер мережі | номер вузла | p>
---------- ----------------------------------------- p>
-- -------------------------------------------------
Клас C | 110 | номер мережі | номер вузла | p>
-------------------------- ------------------------- p>
------------------ --------------------------------- p>
Клас D | 1110 | груповий адреса | p>
--------------------------------------------- ------ p>
------------------------------------- -------------- p>
Клас E | 11110 | зарезервовано | p>
--------------- ------------------------------------ p>
Рис.8. Структура IP-адрес p>
--------------------------------------- ---------------- p>
| Клас Діапазон значень Можливе Можливе | p>
| перший октету кількість мереж кількість вузлів |
-------------------------------------------- ----------- p>
| A 1 - 126 126 1677 7214 | p>
| B 128-191 1638 2 65534 | p>
| C 192-223 2097 150 254 | p>
| D 224-239 - 2 ** 28 | p>
| E 240-247 - 2 ** 27 | p>
-- -------------------------------------------------- ---- p>
Табл.8. Характеристики класів адрес p>
Адреси класу A призначені для використання у великих мережахзагального користування. Вони допускають велику кількість номерів вузлів.
Адреси класу B використовуються в мережах середнього розміру, наприклад, мережахуніверситетів і великих компаній. Адреси класу C використовуються в мережах зневеликим числом комп'ютерів. Адреси класу D використовуються при зверненні -пах до груп машин, а адреси класу E зарезервовані на майбутнє. p>
Деякі IP-адреси є виділеними і трактуються по-особливому. p>
----------- ------------------- p>
| всі нулі | Даний вузол p>
----------- ------------------- p>
------------------------ ------ p>
| номер мережі | всі нулі | Дана IP-мережа p>
------------------- ----------- p>
------------------------------ p>
| всі нулі | номер вузла | Вузол в цiй (локальної) IP-мережі p>
---------------------- -------- p>
------------------------------ p> < p> | все одиниці | Всі вузли в цiй (локальної) IP-мережі p>
--------------------------- --- p>
------------------------------ p>
| номер мережі | всі одиниці | Всі вузли в вказаної IP-мережі p>
------------------------------ p>
------------------------------ p>
| 127 | що-небудь (часто 1) | "Петля" p>
------------------------------ p>
Рис.9. Виділені IP-адреси p>
Як показано на мал. 9, у виділених IP-адреси всі нулі відпо -вують або даного вузла, або даної IP-мережі, а IP-адреси, що складаються звсіх одиниць, використовуються при широкомовних передачах. Для посилань навсю IP-мережу в цілому використовується IP-адреса з нульовим номером вузла. Особливийсенс має IP-адресу, перший октет якого дорівнює 127. Він використовуєтьсядля тестування програм і взаємодії процесів у межах однієїмашини. Коли програма посилає дані по IP-адреси 127.0.0.1, то обра -зуется як би "петля". Дані не передаються по мережі, а повертаються p>
- 1177 - p>
модулям верхнього рівня, як тільки що прийняті. Тому в IP-мережі зап -рещается привласнювати машин IP-адреси, що починаються з 127. p>
5.5. Вибір адреси p>
Перш ніж ви почнете використовувати мережу з TCP/IP, ви повинні отриматиодин або декілька офіційних мережевих номерів. Виділенням номерів (якта багатьма іншими питаннями) займається DDN Network Information Center
(NIC) [2]. Виділення номерів проводиться безкоштовно і займає близькотижні. Ви можете отримати мережевий номер незалежно від того, длячого призначена ваша мережа. Навіть якщо ваша мережа не має зв'язку з обсягів по -діненной мережею Internet, отримання унікального номера бажано, так якв цьому випадку є гарантія, що в майбутньому при включенні в Internet абопри підключенні до мережі іншої організації не виникне конфлікту адрес. p>
Одне з найважливіших рішень, яке необхідно прийняти при установцімережі, полягає у виборі способу присвоєння IP-адрес вашим машинам.
Цей вибір повинен враховувати перспективу зростання мережі. Інакше надалівам доведеться змінювати адреси. Коли до мережі підключено кілька сотеньмашин, зміна адрес стає майже неможливим. p>
Організації, які мають невеликі мережі з кількістю вузлів до 126, повиннізапитувати мережні номери класу C. Організації з великою кількістю машинможуть отримати декілька номерів класу C або номер класу B. Зручнимзасобом структуризації мереж в рамках однієї організації є під -мережі. p>
5.6. Підмережі p>
Адресний простір мережі internet може бути розділене на Непер -сека підпростори - "подсети", з кожною з яких можна робо -тать як зі звичайною мережею TCP/IP. Таким чином єдина IP-мережу організа -ції може будуватися як об'єднання підмереж. Як правило, підмережа соот -відповідне однієї фізичної мережі, наприклад, однієї мережі Ethernet. p>
Звичайно, використання підмереж необов'язково. Можна просто призначають -чити для кожної фізичної мережі свій мережевий номер, наприклад, номер
____________________ p>
[2] SRI International, Room EJ210, 333 Ravenswood Avenue, Menlo
Park, California 94025, USA. Тел. 1-800-235-3155. E-mail:
[email protected] p>
класуC. Проте таке рішення має два недолік. Перший, і меншеістотний, полягає в порожній витраті мережевих номерів. Більш серйозноюний недолік полягає в тому, що якщо ваша організація має кількамережевих номерів, то машини поза її повинні підтримувати запису про маршрутидоступу до кожної з цих IP-мереж. Таким чином, структура IP-мережіорганізації стає видимою для всього світу. При будь-які змінив IP-мережі інформація про них повинна бути врахована в кожній з машин, підтри -жива маршрути доступу до цієї IP-мережі. p>
Підмережі дозволяють уникнути цих недоліків. Ваша організаціяповинна отримати один мережевий номер, наприклад, номер класу B. Стандарти
TCP/IP визначають структуру IP-адрес. Для IP-адрес класу B першудва октету є номером мережі. Частина IP-адреси можевикористовуватися як завгодно. Наприклад, ви можете вирішити, що третій октетбуде визначати номер підмережі, а четверо октет - номер вузла в ній. Виповинні описати конфігурацію підмереж у файлах, що визначають маршрутизацію
IP-пакетів. Цей опис є локальним для вашої організації і невидно поза нею. Всі машини поза вашої організації бачать одну велику IP -мережу. Отже, вони повинні підтримувати тільки маршрути доступу дошлюзів, що з'єднує вашу IP-мережа з рештою світу. Зміни, що відбувається із -дящіе в IP-мережі організації, що не видно поза нею. Ви легко можете додатинову підмережа, новий шлюз і т.п. p>
5.7. Як призначати номери мереж і підмереж p>
Після того, як вирішено використовувати підмережі або безліч IP-мереж,ви повинні вирішити, як призначати їм номери. Зазвичай це досить просто.
Кожній фізичної мережі, наприклад, Ethernet або Token Ring, призначаєтьсяокремий номер підмережі або номер мережі. У деяких випадках має сенспризначати однієї фізичної мережі кілька подсетевих номерів. Наприклад,припустимо, що є мережа Ethernet, що охоплює три будівлі. Ясно,що при збільшенні кількості машин, підключених до цієї мережі, доведеться їїрозділити на кілька окремих мереж Ethernet. Для того, щоб уни -жати необхідності міняти IP-адреси, коли це відбудеться, можна заздалегідьвиділити для цієї мережі три подсетевих номери - по одному на будинок. (Цекорисно і в тому випадку, коли не планується фізичний поділ мережі.
Просто така адресація дозволяє відразу визначити, де знаходиться та чиінша машина.) Однак перш, ніж виділяти три різних подсетевих номераоднієї фізичної мережі, ретельно перевірте, що всі ваші програми спо -собни працювати в такому середовищі. p>
Ви також повинні вибрати "маску підмережі". Вона використовується мережевимпрограмним забезпеченням для виділення номера підмережі з IP-адрес.
Бити IP-адреси, які визначають номер IP-мережі, в масці підмережі повинні бутирівні 1, а біти, що визначають номер вузла, в масці підмережі повинні бутирівні 0. Як уже зазначалося, стандарти TCP/IP визначають кількістьоктетів, що задають номер мережі. Часто в IP-адресах класу B третього октетвикористовується для створення номера підмережі. Це дозволяє мати 256 підсів -тей, у кожній з яких може бути до 254 вузлів. Маска підмережі в такийсистемі дорівнює 255.255