next up previous contents index
Дал╕: Що робить login Вгору: Ре╓страц╕я в систем╕ та Назад: Ре╓страц╕я в систем╕ через

Ре╓страц╕я в систем╕ через мережу

Два комп'ютера в мереж╕, як звично, зв'язан╕ одним ф╕зичним кабелем. Коли вони сп╕лкуються через мережу, програми, як╕ приймають участь в сп╕лкуванн╕, з'╓днан╕ через в╕ртуальне з'╓днання, яке можна можна вважати уявним кабелем. Поки програми знаходяться на обох к╕нцях з'╓днання, вони тримають монопол╕ю на кабель. Однак, оск╕льки кабель всього-навсього уявний, а не справжн╕й, то операц╕йна система може мати насправд╕ к╕лька уявних з'╓днань при одному ф╕зичному. Таким чином, маючи всього-навсього один кабель, к╕лька програм можуть сп╕лкуватися, нав╕ть не п╕дозрюючи про ╕нш╕ з'╓днання. Можливо нав╕ть при╓днати к╕лька комп'ютер╕в до одного ╕ того-ж кабеля. Кожне в╕ртуальне з'╓днання встановлю╓ться м╕ж двома комп'ютерами, але ╕нш╕ в цей час можуть не звертати уваги на ╕снуюче з'╓днання, оск╕льки вони не приймають в ньому участ╕.

Це - складне, але при тому ж занадто абстраговане в╕дображення д╕йсност╕. Однак, його достатньо для того, щоб зрозум╕ти, чому ре╓страц╕я в систем╕ через мережу трохи в╕др╕зня╓ться в╕д ре╓страц╕╖ з терм╕налу. Уявне з'╓днання встановлю╓ться тод╕, коли на двох комп'ютерах ╓ програми, як╕ бажають встановити зв'язок. Оск╕льки в принцип╕ можливо заре╓струватися з будь-якого комп'ютера в мереж╕ на будь-якому ╕ншому, ╕сну╓ надзвичайна к╕льк╕сть потенц╕йних уявних з'╓днань. Через це непрактично стартувати getty  для кожного потенц╕йного користувача (тобто для кожно╖ спроби ре╓страц╕╖).

╤сну╓ ╓диний процес inetd (анало╜╕чний до getty , який займа╓ться вс╕ма з'╓днаннями в мереж╕. Коли в╕н пом╕ча╓ вх╕дний запит про ре╓страц╕ю в мереж╕ (тобто, в╕н пом╕ча╓, що якийсь процес ╕ззовн╕ просить про зв'язок з процесом на даному комп'ютер╕), initd  старту╓ новий процес, який буде займатися цим одним ╓диним запитом. Ори╜╕нальний процес залиша╓ться живим ╕ продовжу╓ слухати, чекаючи нових запит╕в на ре╓страц╕ю.

Щоб життя не здавалося малиною, ╕сну╓ к╕лька комун╕кац╕йних протокол╕в для ре╓страц╕╖ в мереж╕. Два найб╕льш важливих з них - це telnet  та rloign . Додатково до ре╓страц╕╖ ще ╓ багато ╕нших тип╕в умовних з'╓днань (для FTP, Gopher, HTTP та для багатьох ╕нших серв╕с╕в мереж╕). Неефективно мати по одному процесу на кожен тип з'╓днання, як╕ т╕льки слухають ╕ чекають. Тож зам╕сть цього вжива╓ться всього один ``слухач'', який вм╕╓ розп╕знавати тип з'╓днання ╕ запускати в╕дпов╕дну програму, яка буде забезпечувати потр╕бний серв╕с. Цей ``слухач'' назива╓ться inetd . Б╕льш повну ╕нформац╕ю про нього можна отримати з ``Пос╕бника по системн╕й адм╕н╕страц╕╖ мереж╕ Л╕накса''.


Dmytro Kovalev
1999-06-10