ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Статична IP-маршрутизація
         

     

    Інформатика, програмування

    Статична IP-маршрутизація

    Дмитро Карпов, МИСИС

    Мережа Internet за її протоколами з самого початку замислювалася як протяжна (WAN - Wide Area Network), що складається з великої кількості машин, з'єднаних за допомогою різних середовищ обміну даними (як локальних мереж, так і глобальних з'єднань). Теоретично в Internet можуть безпосередньо працювати один з одним близько чотирьох мільярдів машин (2 ^ 32 за винятком деяких спеціальних номерів), а через proxy і того більше.

    В Через ці причини Internet - сегментована мережу. Сегментом є або прозорий ділянку широкомовної (Ethernet) або маркерне (TokenRing) мережі, або з'єднання точка-точка (модемне).

    Тепер - Позначення. IP-номер - четирехбайтное число, що записуються або в шістнадцятковому вигляді типу 0xC0A80E05, або в десятковому вигляді, де байти розділені крапками типу 192.168.14.5 (як приклад в обох випадках використовувався один і той же номер).

    Маска - Теж четирехбайтное число, але всі старші біти, починаючи з деякого, завжди встановлені в одиницю, а всі молодші - у нуль. Приклади: 255.255.255.0 - маска мережі класу C на 256 номерів; 255.255.255.192 - маска маленької мережі на 64 номера (192 = 256-64). Якщо мені треба вказати поєднання номери та маски, я буду використовувати запис номер/чісло_установленних_бітов_в_маске - так поєднання номера 192.168.14.5 і маски 255.255.255.0 буде записано у вигляді 192.168.14.5/24.

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

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

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

    Прийнято наступний розподіл в залежності від значення старшого байта IP-адреса:

    0 .. 127 - Мережі класу A за 2 ^ 24 адрес з маскою 0xFF000000;

    128 .. 191 - Мережі класу B по 2 ^ 16 адрес з маскою 0xFFFF0000;

    192 .. 223 - Мережі класу C з 2 ^ 8 адрес з маскою 0xFFFFFF00;

    224 .. 239 - Мережі класу D для multicast (груповий) розсилання;

    інші поки зарезервовані.

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

    Мережа класу A з номером 127 - loopback, тобто призначена для спілкування з комп'ютера собою. У будь-який номер мережі (IP-номер AND маска) є номером всієї мережі і не може бути присвоєно нікому конкретно. Номер (IP-номер OR NOT маска), який є останнім номером в мережі, призначений для broadcasting (широкомовних) повідомлень, які доставляються всіх машин сегмента мережі. Відповідно, при виділення групи адрес в мережу дві адреси стають недоступні.

    Розглянемо маршрутизацію в термінах FreeBSD (буде також даний переклад в нотацію System V (Linux, SCO) і Windows3.11). У Unix команди настроювання мережі, як правило, заюпускаются з файлу/etc/rc або запускаються з нього файли, а в MS Windows -- завантажувачем операційної системи у відповідність з system.ini або registry.

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

    Побудуємо перший сегмент мережі:

    Сконфігуріруем робочу станцію:

    ifconfig ep0 inet 192.168.1.5 netmask 255.255.255.0

    ifconfig lo0 inet 127.0.0.1 netmask 255.0.0.0

    route add default 192.168.1.1

    На Насправді в сучасних (починаючи з 2.1 .*) версіях FreeBSD це оформляється трохи зовсім по іншому. :-)

    Розглянемо уважніше, що роблять ці команди:

    ifconfig ep0 inet 192.168.1.5 netmask 255.255.255.0

    присвоїла інтерфейсу ep0 номер 192.168.1.5, а також створила в таблиці маршрутизації запис про те, що всі пакети з номером мережі 192.168.1.0/24 будуть направлятися прямо через цей інтерфейс з використанням протоколу ARP.

    ifconfig lo0 localhost

    конфігурує інтерфейс loopback, тобто "петлю". Цей інтерфейс повинен мати адресу 127.0.0.1 і маску 255.0.0.0 на будь-якій машині, що має IP, тому деякі системи (наприклад, MS Windows) роблять це автоматично, не вимагаючи від адміністратора (або користувача, якщо він сам налаштовує систему) задавати параметри loopback. Так як цей інтерфейс налаштовується на кожній машині однаково, я не буду писати цей рядок кожного разу. localhost визначається за файлу/etc/hosts, в якому міститься

    127.0.0.1 localhost.домен localhost

    а маска береться за замовчуванням - 255.0.0.0.

    route add default 192.168.1.1

    зауважу, що маршрутизація "default" насправді є "inet 0x0 netmask 0x0 "і це треба прописувати, якщо стара версія команди route не розуміє слова "default". створила запис, відповідно до якої всі пакети (все, тому що будь-який пакет підходить під 0.0.0.0/0) будуть відправлятися на машину, що має інтерфейс 192.168.1.1. Інформація про те, як можна дістатися до інтерфейсу 192.168.1.1 міститься в попередній команді, яка визначила спосіб доступу до всіх машин 192.168.1 .* через інтерфейс ep0.

    Таким чином, у нас склалася приблизно така ситуація:

    Взагалі система маршрутизації (за винятком гранично примітивних випадків) деревоподібна, тобто одні записи включають в себе інші. Часткове перетин неможливо, бо кордону адресного простору, на який діє кожна запис, вирівняти на розмір цього простору. Порядок зберігання та перегляду таблиці може бути різний, але повинен забезпечувати пріоритет записів з маленьким простором перед записами з великим простором. У даному разі звернення до машини 192.168.1.9 потрапляє під юрисдикцію обох записів, але звертатися до неї наша робоча станція буде у відповідності з 192.168.1.0/24-> ep0.

    Інтерфейс шлюзу треба настроїти так:

    ifconfig ed1 inet 192.168.1.1 netmask 255.255.255.0

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

    Другий сегмент містить в собі машину, до якої по послідовній лінії за допомогою протоколу SLIP під'єднаний ще один комп'ютер.

    Сконфігуріруем ws.2.1:

    slattach-S 0 [...]

    ifconfig sl0 192.168.1.81 192.168.1.82 up

    ifconfig ep0 inet 192.168.2.7 netmask 255.255.255.0

    route add default 192.168.2.1

    Сконфігуріруем ws.2.2:

    slattach-S 0 [...]

    ifconfig sl0 192.168.1.82 192.168.1.81 up

    route add default 192.168.1.81

    Сконфігуріруем шлюз:

    ifconfig ed2 inet 192.168.2.1 netmask 255.255.255.0

    route add host 192.168.2.81 192.168.2.7

    route add host 192.168.2.82 192.168.2.7

    Третій сегмент буде поєднувати в собі дві мережі - мережа класу C 192.168.2 .*/24 та мережа класу B 172.16 .*.*/ 16.

    Почнемо з шлюзу. Йому привласнимо дві адреси, по одному з кожної мережі:

    ifconfig ed3 inet 192.168.3.1 netmask 255.255.255.0

    ifconfig ed3 inet 172.16.0.1 netmask 255.255.0.0 alias ...

    Тепер ws.3.1 - їй дамо адресу тільки з першої мережі:

    ifconfig ep0 inet 192.168.3.7 netmask 255.255.255.0

    route add default 192.168.3.1

    В такій конфігурації ws.3.1 відмінно зможе спілкуватися з машинами з мережі 192.168.3.0/24 і з машинами поза сегменту локальної мережі. При спробі ж звернутися до машини того ж сегменту, але іншої IP-мережі, пакет буде посланий на шлюз. Шлюз знає, що пакети з цією адресою треба надіслати в ту мережу; але деякі операційні системи працюють за алгоритмом маршрутизації, в якому заборонено посилати пакет туди, звідки він прийшов - це робиться для того, щоб уникнути зациклення пакетів.

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

    ifconfig ep0 inet 172.16.8.14 netmask 255.255.0.0

    route add-net 192.168.3.0-netmask 255.255.255.0 172.16.8.14

    route add default 172.16.0.1

    Тут ми присвоїли інтерфейсу номер з мережі 172.16 .*.*, а потім оголосив, що пакети для мережі 192.168.3 .* треба відправляти в ту ж локальну мережу.

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

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

    Наступну мережа класу C сегментуємо маршрутизатором, що відокремить підмережа на 16 IP-номерів (14 машин, включаючи маршрутизатор).

    Шлюз:

    ifconfig ed3 inet 192.168.4.1 netmask 255.255.255.0

    route add-net 192.168.4.128 -netmask 255.255.255.240 192.168.4.254

    Робоча станція ws.4.1:

    ifconfig ep0 inet 192.168.4.7 netmask 255.255.255.0

    route add default 192.168.4.1

    Я не вказав маршрутизацію

    route add-net 192.168.4.128-netmask 255.255.255.240 192.168.4.254

    Її можна не вказувати і для маршрутизатора. Але! Якщо яка-небудь з машин сегмента 192.168.4.128/28, наприклад, 192.168.4.137, звернеться до машини з основного (примикає до шлюзу) сегмента (у тому числі до шлюзу), то протокол ARP зафіксує прихід пакету з мережевої карти, маршрутизатора, що виходить у основний сегмент (IP-номер 192.168.4.127) і далі буде посилати пакети на цю мережеву карту, і це буде правильно. Окрему проблему представляє звернення машини з основного сегмента в 192.168.4.128/28. За відсутності у ARP відомостей про цьому номері буде розісланий широкомовна запит і тут все залежить від кмітливості проміжного маршрутизатора router.4 - якщо він здогадається, що пакет призначений в підмережа і протранслірует його туди, то відповідь призведе до появи запису в таблицях ARP, не здогадається - доведеться прописувати маршрутизацію.

    Маршрутизатор router.4:

    ifconfig ep0 inet 192.168.4.127 netmask 255.255.255.0

    ifconfig ep1 inet 192.168.4.129 netmask 255.255.255.240

    route add default 192.168.4.1

    Робоча станція ws.4.2:

    ifconfig ep0 inet 192.168.4.137 netmask 255.255.255.240

    route add default 192.168.4.129

    А цю мережу (теж класу C) сегментуємо маршрутизатором, який розіб'є мережу на дві рівні частини.

    Шлюз:

    ifconfig ed3 inet 192.168.5.1 netmask 255.255.255.128

    route add-net 192.168.5.128 -netmask 255.255.255.128 192.168.5.127

    Робоча станція ws.5.1:

    ifconfig ep0 inet 192.168.5.7 netmask 255.255.255.128

    route add-net 192.168.5.128 -netmask 255.255.255.128 192.168.5.127

    route add default 192.168.5.1

    Маршрутизатор router.5:

    ifconfig ep0 inet 192.168.5.127 netmask 255.255.255.128

    ifconfig ep1 inet 192.168.5.129 netmask 255.255.255.128

    route add default 192.168.5.1

    Робоча станція ws.5.2:

    ifconfig ep0 inet 192.168.5.137 netmask 255.255.255.128

    route add default 192.168.5.129

    Різниця з попереднім випадком в тому, що мережа розділена на сегменти, що містять тільки "куглое" число IP-номерів (два в цілій ступеня). Це особливий випадок, коли логічніше оформити кожну мережа окремо.

    Тепер зробимо дві мережі, з'єднані через послідовну лінію по протоколу PPP.

    Шлюз:

    ifconfig ed3 inet 192.168.6.1 netmask 255.255.255.0

    route add-net 172.17.14.192 -netmask 255.255.255.252 192.168.6.127

    route add-net 192.168.6.128 -netmask 255.255.255.240 192.168.6.127

    Маршрутизатор rt.6.1:

    ifconfig ep0 inet 192.168.6.127 netmask 255.255.255.128

    pppd 172.17.14.193:172.17.14.194 netmask 255.255.255.252 [...]

    route add-net 192.168.6.128 -netmask 255.255.255.240 172.17.14.194

    route add default 192.168.6.1

    pppd вимагає при запуску вказати інтерфейс, через який відбувається з'єднання, і його параметри, але це не відноситься до теми й позначено [...].

    Маршрутизатор rt.6.2:

    ifconfig ep0 inet 192.168.6.129 netmask 255.255.255.240

    pppd 172.17.14.194:172.17.14.193 netmask 255.255.255.252 [...]

    route add default 172.17.14.193

    Робоча станція ws.6.2:

    ifconfig ep0 inet 192.168.6.137 netmask 255.255.255.240

    route add default 192.168.6.129

    Підмережі на 16 машин виділена аналогічно прикладу 4. Я сподіваюся, розбивка мережі на підмережі "круглого" розміру, з'єднані по ppp, після засвоєння прочитаного виявиться під силу будь-кому.

    Як бачите, найпростіша конфігурація - у машин в сегменті з єдиною IP-мережею і з єдиним шлюзом (він же шлюз за замовчуванням). Чим більше шлюзів в сегменті мережі і чим складніше їх конфігурація, тим складніше коректно налаштувати робочі станції, а налаштовувати треба кожну. Трохи виручає протокол DHCP, але:

    сервер DHCP повинен знаходитися в тому ж сегменті локальної мережі, що і його клієнти;

    сервер DHCP повинен коректно конфігурувати клієнтів, що знову ж таки непросто в складній сегментованої мережі.

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

    Примітки:

    Прозорий  - Сегмент Internet сам може бути сегментований на рівні MAC, наприклад, комутатором. Прозорість виявляється в тому, що маршрутизатор, що працює на рівні IP, не повинен дбати про це; в Зокрема, IP-маршрутизатор ніколи не пропускає broadcast повідомлення (у відміну від multicast), але broadcast повідомлення мають вільно поширюватися по всій локальній мережі мережі - це потрібно, зокрема, для протоколу ARP.

    Послідовним  портом в даному випадку називається будь-який порт, видає дані побайтно (асинхронний COM, синхронний RS-232, принтерний LPT) в відміну від мережевого інтерфейсу, що видає дані пакетами. Відрізняється від мережевого тим, що з поіощью послідовних інтерфейсів можна пов'язувати безпосередньо рівно два комп'ютери, а значить, такий спосіб не потребує адресації пакетів на MAC-рівні.

    DNS  - Domain Name Service, що дозволяє дізнатися IP-номер і деяку іншу інформацію про машину за доменним ім'ям, а також доменне ім'я по IP-номеру. Зокрема, зона визначення імені по номеру може бути делегована тільки на мережу класу A, B або C і ніяк інакше. :-(

    System V :                      

    BSD:               

    ifconfig ep0 inet адреса netmask маска                       

    Linux:               

    ifconfig eth0 inet адреса netmask маска                                          

    BSD:               

    ifconfig інтерфейс inet адреса netmask маска alias                       

    Linux:               

    ifconfig eth0: 1 inet адреса netmask маска                                          

    BSD:               

    route add-net номер-netmask маска шлюз                       

    Linux:               

    route add-net номер netmask маска шлюз                    

    Відповідність між інтерфейсом eth0 і парою Port/IRQ записано в/etc/lilo.conf; після зміни треба запустити ще щось.

    Windows 3.11  

    ifconfig інтерфейс inet адреса netmask маска

    прописується в "Властивостях TCP/IP" цього інтерфейсу.

    ifconfig інтерфейс inet адреса netmask маска alias

    прописується в "Додаткових властивості".

    route add default шлюз

    задається як "Default Gateway".

    route add-net номер-netmask маска шлюз

    вводиться з командного рядка

    route add номер MASK маска шлюз

    Ці команди реально виконуються, однак, як правило, вони задаються інакше.  У файлі/etc/sysconfig пишеться

    network_interfaces = "ep0 lo0 "

    ifconfig_ep0 = "inet 192.168.1.5 netmask 255.255.255.0 "

    ifconfig_lo0 = "inet localhost"

    Ці рядки обробляються файлом/etc/netstart

    # Set up all the network interfaces, calling startup scripts if needed

    for ifn in $ (network_interfaces); do

    eval ifconfig_args = $ ifconfig_ $ (ifn)

    ifconfig $ (ifn) $ (ifconfig_args)

    ifconfig $ (ifn)

    done

    if [-n "$ defaultrouter" -a "x $ defaultrouter"! = "xNO"]; then

    static_routes = "default $ (static_routes) "

    route_default = "default $ (defaultrouter) "

    fi

    # Set up any static routes. This should be done before router discovery.

    if [ "X $ (static_routes)"! = "X"]; then

    for i in $ (static_routes); do

    eval route_args = $ route_ $ (i)

    route add $ (route_args)

    done

    fi

    а localhost визначається по файлу/etc/hosts, в якому міститься

    127.0.0.1 localhost.домен localhost

    і деякі інші адреси/імена, які машина повинна знати навіть у разі недоступності DNS-сервера; як мінімум, там крім loopback містяться адреси решти інтерфейсів даної машини, асоційовані з її доменним ім'ям в повної і короткої формк.

    Протокол ARP  використовується в мережах, які мають свою власну нумерацію (Ethernet, TokenRing, X.25) і потрібен для того, щоб не прописувати вручну відповідність IP-адрес номерами мережевих адаптерів. Після старту системи таблиці ARP порожні; якщо приходить IP-пакет від будь-якої станції, фіксується відповідність її IP-номера номером її мережевої карти. Якщо треба послати пакет по IP-номеру, для якого невідомий номер мережевої карти, надсилається широкомовне (у розумінні локальної мережі) повідомлення.

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

    Протокол DHCP  (Dynamic Host Configure Protocol) за запитом машини видає їй IP-адресу, маску, номер DNS-сервера і т.д. аж до завантажується через мережа операційної системи. Як правило, застосовується у варіанті, коли запитуюча машина не знає ні своєї адреси, ні адреси DHCP-сервера; в цьому випадку вона знаходить сервер, посилаючи широкомовна запит, а значить, вони повинні бути в одному сегменті локальної мережі.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://elib.albertina.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status