Страница:
hostmaster@sri-nic.net
Московский узел, раздающий IP-адреса, а так же домены *.ru
доступен по адресу
РосНИИРОС xSU/RU NetworkInformationalCenter
ncc@ripn.net или ncc@ussr.eu.net
www.ripn.net/nic/ripn-docs/
&dDIP-сеть, подсеть.&d@
IP-сеть - "пачка" из 2**n IP-адресов, ИДУЩИХ ПОДРЯД. Самый
младший - резервируется. Этот адрес называется адресом IP-сети.
Например 128.8.0.0, или 193.125.149.64 . Адрес сети использует-
ся, когда требуется указать всю сеть целиком, например, когда
задается маршрутизация до этой сети.
Маска сети - фактически размер сети, задает число адресов в се-
ти. Задается либо количеством битов в маске сети (например 8бит
- 256 адресов, 6 бит - 64 адреса), либо битовой маской вида
b'111...11100...00'
число^^ ^^ битов
которую тоже принято записывать в десятично-побайтной записи,
например:
255.255.255.192 - маска на 64 адреса
255.255.255.0 - маска на 256 адресов
255.255.0.0 - маска на 64Kb адресов
Broadcast адрес сети - самый старший адрес в сети. Резерви-
руется для передачи сообщений типа "все-всем-всем" (в сети).
128.8.255.255
Сети делятся на классы:
Класс A. "Огромные" сети.
Адреса этих сетей лежат в промежутке: 1 - 126.
Маска сети: 255.0.0.0
Содержит до 16387064 адресов (256*256*256).
Адреса хостов в этих сетях вида: 125.*.*.*
Класс B. "Средние" сети.
Адреса этих сетей лежат в промежутке: 128.0 - 191.255
Маска сети: 255.255.0.0
Содержит до 64516 адресов (256*256).
Адреса хостов в этих сетях вида: 136.12.*.*
Класс C. "Маленькие" сети.
Адреса сетей лежат в интервале: 192.0.0 - 255.254.255
Маска сети: 255.255.255.0
Содержит 254 адреса.
Адреса хостов в этих сетях вида: 195.136.12.*
Класс D. "Multicast-сети" (групповая адресация) (в стадии разработки)
Адреса сетей лежат в интервале: 224-239
Класс E. "Экспериментальные" 240-250
Адреса 0, 127, 255 - специальные и для обычных IP не используется
&dD2.1. Private Address Space&d@
Если ваша сеть будет использоваться только внутри
организации, и машины не будут иметь непосредственного выхода в
интернет, то адреса для нее можно брать "с потолка".
В документе RFC 1597 "Address Allocation for Private Internets"
March 1994:
The Internet Assigned Numbers Authority (IANA) зарезервировал
три блока IP адресов для использования во внутренних сетях:
10.0.0.0 - 10.255.255.255 Класс A
172.16.0.0 - 172.31.255.255 Класс B
192.168.0.0 - 192.168.255.255 Класс C
Роутеры большинства ISP эти адреса не маршрутизируют, что
добавляет им(адресам) безопасности.
&dD2. Объявляем IP-адрес на наш ethernet'ный контроллер&d@.
Конфигурация сети на UNIX-машине обычно делается автоматически
при начальной загрузке. Вкратце ее можно описать так:
Определение трех однотипных карт в Linux (1*ISA, 2*PnP):
/etc/conf.modules
alias eth0 ne
alias eth1 ne
alias eth2 ne
options ne io=0x220,irq=5
Объявляем, что наш IP-адрес 198.8.2.1 и он поднят на
ethernet'ную карту по имени elx70 . В случае Motorol'ы так на-
зывается ethernet, торчащий из главной системной платы - платы
с процессором.
ifconfig e1x70 198.8.2.1 up
Объявляем, что наш второй контроллер с именем m3760 (нижняя
плата) имеет IP-адрес 198.8.3.1
ifconfig m3760 198.8.3.1 up
&dD3. Маршрутизация локальной сети&d@.
Объявляем, что машины с адресами вида 198.8.2.* *=1,...,254 си-
дят на нашем верхнем локальном сегменте ethernet, и разговари-
вать с ними надо напрямую, через верхний ethernet, соответству-
ющий нашему адресу 198.8.2.1 - т.е. - elx70. А с машинами, име-
ющими адреса вида 198.8.3.* - через нижний ethernet - с адресом
198.8.3.1
route add net 198.8.2.0 198.8.2.1 netmask 255.255.255.0 0
route add net 198.8.3.0 198.8.3.1 netmask 255.255.255.0 0
Сетевые пакеты для IP-адресов, которые не лежат в нашей локаль-
ной сети, переправлять на машину с сетевым адресом 198.8.2.107
- а уж она сама будет разбираться, что с ними делать, и как
доставить их до конкретных адресатов.
route add default 198.8.2.107 1
Последний аргумент команды route - метрика. Ее можно интерпре-
тировать как "расстояние" до "того" gateway'я, или "сколько пе-
ресадок между gateway'ями придется сделать IP-пакету по дороге
туда. Поскольку IP-адреса 198.8.2.1 и 198.8.3.1 соответствуют
нашим собственный платам ethernet, то и метрика (расстояние) до
них 0. 198.8.2.107 - другая машина - "расстояние до нее" 1.
Смотрим, что у нас получилось
netstat -rn # распечатать таблицу маршрутизации
ping -s fedfond # "прозвонить" узлы сети
ping -s fedfond-gate
ping -s 198.8.2.107
netstat -i # статистика о работе сетевых интерфейсов
Настала пора объяснить, что такое lo0 и localhost. Это так на-
зываемый Loop-back интерфейс. Он имитирует сетевой интерфейс
локально, не выходя за границы нашего компьютера. Loop-back ин-
терфейсу соответствует зарезервированный за ним IP-адрес
127.0.0.1
&dD4.&d@ Конфигурирование TCP/IP на Мотороле 922.
Придумайте сетевое имя вашего компьютера. Пусть вы решили, что
ваш компьютер должен называться fedfond, и иметь IP-adres
198.8.2.1 . Однако не забывайте, что у Моторолы ДВА etherн
net-контроллера, и КАЖДЫЙ из них ДОЛЖЕН иметь свой УНИКАЛЬНЫЙ
IP-адрес. Мы решаем, что второй наш ethernet будет иметь
IP-адрес 198.8.3.1, ну и этому адресу можно назначить вполне
человеческое имя, например "fedfond-gate".
ВНИМАНИЕ: если вы внимательно рассмотрите содержание файла
/etc/inet/rc.inet, особенно строку вида
/usr/sbin/ifconfig e1x70 `uname -n`-gate $net_mask up
то поймете, что второй ethernet должен называться именно
fedfond-gate , и никак иначе.
Итак, чтобы установить сетевое имя и IP-адреса нашего host'а
1. командой sysadm установите "nodename" . ВНИМАНИЕ: именно
nodename (имя узла) а не systemname (имя операционной системы)
2. В файл /etc/hosts вставьте строчки, привязывающие IP-адреса
к имени fedfond и, ВНИМАНИЕ!, fedfond-gate
198.8.2.1 fedfond
198.8.3.1 fedfond-gate
3. Перезагрузитесь.
&dDКонфигурирование 2-го ethernet в Linux&d@
Первый-то ethernet конфигурится с раздачи - сложность появится,
когда мы захотим увидеть второй. Например можно в
/etc/rc.d/rc.local поставить такие команды:
# подгрузка дравера с дековским чипом 2140
insmod /lib/modules/2.0.18/de4x5.o io=0
# выделение IP # статический роутинг на вторую сетку
ifconfig eth1 10.232.172.1
route add -net 10.232.172.0 gw 10.232.172.1 netmask 255.255.255.0
Если дравер 2-го ethernet'а вкомпилирован в ядро, то
активизировать его можно так: в файл /etc/lilo.conf вписать
append="ether=0,0,eth0 ether=0,0,eth1" # если сработает autoprobe
# в случае явного задания параметров карт
append="ether=10,0x300,0xe800,eth0 ether=12,0x280,eth1"
Включить роутинг:
echo 1 > /proc/sys/net/ipv4/ip_forward
&dDКак узнать hardware адрес ethernet'ной карты&d@
Если машины нормально сконфигурированы для TCP/IP, то
достаточно попинговать их явно или по броадкасту, затем arp -a
ping [-s] 123.456.789.255
arp -a
Почти всегда можно разобрать машину, и посмотреть адрес,
напечатанный на самой плате.
Linux: Адрес печатается при загрузке ядра.
Если карта сконфигурирована, то адрес сообщает команда
ifconfig
Sun: Адрес печатается boot-монитором при старте
Hardware адрес ethernet'а на Sun можно произвольно менять
находясь в boot-мониторе, или командой ifconfig
подробности см. в Sun NVRAM & hostid FAQ
HP-UX: Адрес можно узнать командой lanscan. На рабочих станциях
адрес можно узнать еще и из boot-монитора PDC.
&dD5. Прикладные интерфейсы&d@.
Чтобы писать программы, работающие с сетью, программист должен
пользоваться каким-либо набором системных вызовов и функций. От
BSD-Unix'а в жизнь вошел получивший большую популярность API
Berkеlеy-sockets. AT&T System V породила TLI (Transport Level
Interface) - построенный на технологии "потоков" (streams).
SVR4 поддерживает и то, и другое. Поддержку сокетов
обеспечивает демон inetd (Internet Super Server), поддержку TLI
обеспечивает демон listen (Network Listener).
&dD6.&d@ Конфигурация TLI
Демон listen управляется специальной базой данных, в которую
необходимо вписать IP-адрес нашего host'а. Делается это "один
раз в жизни". IP-адрес задается в хитрой шестнадцатеричной за-
писи.
Итак, если наши IP-адреса 198.8.2.1 и 198.8.3.1, их шестнадца-
теричная запись C6080201, C6080301 , то мы должны единовременно
выполнить три команды:
nlsadmin -i tcp
nlsadmin -l '\x00020acec60802010000000000000000' tcp
nlsadmin -l '\x00020acec60803010000000000000000' tcp
"волшебное ^^^^^^^^шестнадцать нулей
слово 0acе" |
|
сюда вписывается наш фактический IP-адрес
&dD7.&d@ Конфигурация BSD сокетов.
Для этого ничего делать не надо. Врочем, в дальнейшем,
возможно, вам придется этим заниматься. Настройки inetd лежат в
файлах:
/etc/inetd.conf название сетевого --> имя обслуживающей
сервиса программы
/etc/services номер порта --> название сетевого сервиса
Состояние текущих соединений можно посмотреть командой:
netstat (или netstat -ta - если у вас Linux)
&dDЕще несколько протоколов&d@
ARP - Address Resolution Protocol
Протокол низкого уровня. Поддерживается на уровне ядра и/или
дравера сетевой платы. Для определения, какой ethernet'ный
адрес имеет машина, если известен ее IP-адрес. Работает по
принципу broadcаst: "эй, все, все, все: IP-такой_то -
отзовись", и он один отзывается.
arp -a # распечатать известные нам IP-адреса и их eth-адреса
RARP - Reverse Address Resolution Protocol.
Для оповещения бездисковых клиентов, какой у них IP-адрес. На
сервере запускается демон rarpd. У него есть файл-таблица:
ether-адрес -> IP-адрес. По запросу-broadcast'у бездискового
клиента вида: "эй, все,все,все, мой eth-адрес такой-то. Как
меня зовут?" rarpd сообщает ему, какой у него IP (а другой де-
мон bootparamd сообщает ему дополнительную информацию - где ему
брать свою корневую файловую систему, например).
Для обмена информацией о роутинге (маршрутизации) используются
протоколы RIP, BGP, EGP, ICMP.
RIP - Routing Information Protocol
Внутренний протокол роутинга (внутри автономной системы). Его
поддерживают демоны routed и/или gated.
BGP - Border Gateway Protocol
EGP - External Gateway Protocol
Роутинг между автономными системами. Их поддерживает демон
gated
ICMP - Internet Control Message Protocol
передает сообщения об ошибках в TCP/IP (например "port
unreachable"), используется программами ping, traceroute, может
передавать сообщение о нерациональном роутинге типа "redirect":
"вообще-то можно направлять пакеты через меня, однако есть и бо-
лее короткий путь".
Для обмена информацией о символических именах host'ов,
пользователей, групах пользователей и пр. используются
протоколы DNS и NIS/YP
DNS - Domain Name System.
Позволяет использовать символические имена хостов помимо цифро-
вых IP-номеров, и организовывать "деревянную" структуру наиме-
нования доменов (типа pc101.fedfond.msk.su , ftp.sco.com и
т.п.) Сервер DNS - хост, на котором запущен демон bind, и хра-
нятся имена хостов в зоне(домене). На остальных хостах для оп-
ределения IP-адреса по имени используются библиотечные функции
библиотеки "resolver" - gethostbyname, gethostbyaddr, которые
обращаются по сети к ближайшему серверу DNS, и выясняют у него
IP-адрес машины по ее имени (domain-name).
NIS/YP - Network Information System (используется так же
название, пришедшее от фирмы Sun - Yellow Pages). Позволяет
хранить на одном NIS-сервере (с демоном ypserv) информацию,
единую для всей локальной сети: имена хостов, имена и права
пользователей, групп пользователей, название их домашних
каталогов, символические имена портов и т.д. и т.п.
Еще раз об отличиях DNS от NIS/YP: DNS - система "глобальная" -
действует в рамках всего Интернета, но содержит ТОЛЬКО имена
хостов. NIS/YP - содержит помимо имен хостов несколько других
информационных баз, но зато поддерживается только в рамках сети
одной организации.
&dDКонфигурирование TCP/IP на скорую руку&d@
В большинстве unix-ов имеется простая менюшная утилита
позволяющая сконфигурировать основные параметры компьютера: Имя
хоста, IP адрес и параметры сети, DNS сервера
HP/UX: /etc/set_parms initial
Linux Slackware: net_config
Solaris: /etc/???
.
&dDОрганизация TCP/IP по последовательным линиям&d@
Протокол TCP/IP не обязательно требует наличия etherн
net'ной сети. Вполне допустимы и другие физические носители,
например:
Последовательные линии с подключением через порты RS-232,
Скоростные линии с подключением через параллельные порты,
или скоростные синхронные порты (например 485, V.435).
Эти возможности обеспечиваются специализированными реализациями
протокола IP:
для подключения через RS-232
SLIP - Serial Line IP - самая первая реализация TCP/IP "для
бедных", широко используется до сих пор.
CSLIP - Compressed SLIP - модификация протокола SLIP.
Сжатию подвергаются заголовки IP-пакетов. ВНИМАНИЕ: но
не сами данные! В стандартном IP-пакете IP-заголовки со
служебной информацией занимают порядка 40 байт. В
CSLIP'е эти заголовки ужимаются до 3 байт. При пересыл-
ке большого числа мелких пакетов получается существен-
ный выигрыш в скорости. Если пакеты крупные, то выигры-
ша не будет никакого.
PPP - Point-to-Point Protocol
Еще одна, современная реализация TCP "для бедных". Яв-
ляется стандартным для SVR4. Более универсален. Позво-
ляет также организовать передачу по последовательной
линии протокола IPX. Поддерживает режимы эмуляции slip
и cslip - для совместимости.
для подключения через Centronix-параллельный порт
PLIP - Parallel Line IP - некоторые скажут - экзотика.
Ничуть не бывало. Весьма распространенная вещь. Вот
когда TCP/IP по SCSI-шине - это да, это - экзотика.
Кстати, RFC 1149 описывает передачу пакетов IP голубиной
почтой.
&dDTCP/IP по спутниковой связи&d@.
Теоретических трудностей организация связи TCP/IP через
спутниковую антенну нет - все выглядит также, как при модемной
связи по телефону. Технология примерно следующая: с антенны
выходит высокочастотный сигнал, сигнал прогоняется сквозь
спутниковый модем, из модема выходит поток данных по формату
High Speed Interface - завести в компьютер его можно через
скоростной порт, например V.435 (логически он ведет себя
приблизительно как обычный последовательный порт), и со стороны
хоста - поднимается протокол PPP. Естественно, на "том конце"
предполагается та же схема подключения.
+-------------------+ +-----------------+ (
| протокол порт| данные |порт спутниковый| сигнал ( ><
|Host PPP V.435|========|V.435 модем | ~~~~~~ (
| -TCP/IP-> | | | ~~~~~~ /\
+-------------------+ +-----------------+ Антенна
Вместо Хоста со скоростным портом, модем можно подключить к
специализированному устройству - "Роутеру", внутри которого
"зашит" протокол TCP/IP (PPP, Ether), и имеются порты Ethernet,
и High Speed Interface. Достаточно популярны для таких целей
роутеры "Cisco router", "NetBlaser".
+-------------------+ +-----------------+ (
| протокол порт| данные |порт спутниковый| сигнал ( ><
|Router PPP V.435|========|V.435 модем | ~~~~~~ (
| -TCP/IP-> | | | ~~~~~~ /\
+-------+-----------+ +-----------------+ Антенна
|
... -Ethernet------ ...
&dDСкорость, которую можно получить&d@.
Скорость главным образом зависит от типа и качества линии свя-
зи, используемых модемов, и типа порта, в который этот модем
воткнут.
Практические ограничения на скорость:
Скорость данных между модемами V32bis/V42 по городскому телефо-
ну, или междугородней линии "Искра" до 16800 бит/сек. Реально ~
12000 бит/с. Наличие встроенного протокола V42 сжатия данных
позволяет поднять реальную (замеренную уже не между модемами, а
между портами) скорость передачи несжатых данных в 2-4 раза,
т.е. до 38400-57600 бит/с
Максимальная скорость приема/передачи данных на
последовательном порту RS-232 зависит от наличия в оном
микросхем UART (Universal Asyncronous Receiver-Transmitter)
16450 - 19200 bit/s.
16550 - 19200 bit/s. (отсутствие буковки "A" - фатально)
16550A - 38400 bit/s.
16550A до 115200 bit/s. (Если операционная система "тянет")
(в частности - Solaris, Unixware - нет,
FreeBSD, Netblaser, Cisco router - да)
В итоге реальная скорость пересылки данных:
Телефон/"Искра", V32bis/V42 - 19200 бит/с.
Выделенная 2-х проводка, V32bis/V42 - 38400 бит/с.
Выделенная 4-х проводка, RAID,????? - 115200 бит/с.
Физическая 4-х проводка<=4км, ????? до 1 Мбит/с.
Оптоволокно <=?км, ????? ?? 2 Мбит/с.
Антенна. Спутниковый модем. Порт V.435. PPP 64, 128, 256 Кбит/с
&dD * Конфигурирование SLIP/CSLIP * &d@.
Для этого соединяем два host'а нульмодемным кабелем через
последовательные порты, и запускаем фоном программу slattach,
переводящую порты в режим передачи протокола TCP/IP.
Естественно, что SLIP надо запускать с обоих концов, причем
"одинаковый".
SVR4, slip
slattach /dev/comport NASH-IP-ADRES IH-IP-ADRES 19200 &
# переводит порт /dev/comport в режим "slip" на скорости 19200
# и устанавливает IP-адрес на slip-интерфейс
SVR4, cslip
slattach -c /dev/comport NASH-IP-ADRES IH-IP-ADRES 38400 &
# переводит порт /dev/comport в режим "Compressed-slip"
# на скорости 38400
# и устанавливает IP-адрес на C-slip-интерфейс
slattach -e /dev/comport NASH-IP-ADRES IH-IP-ADRES 38400 &
# переводит порт в режим slip или cslip,
# автоматически определяя, какой именно протокол запущен
# "на том конце", и устанавливает со своей стороны такой же
Linux, SLIP.
<!-- этот фрагмент устарел
slattach -p slip /dev/modem & # переводит порт в режим "slip"
ifconfig sl0 NASH-IP-ADRES pointopoint IH-IP-ADRES
route add IH-IP-ADRES
route add default gw IH-IP-ADRES
-->
Теперь SLIP в Linux заряжается командой DIP, с конфигурационным файлом:
/usr/sbin/dip config-file-name
---------------------------------------------------------------
# прямой коннект нульмодемным кабелем
main:
get $local 193.232.171.22
get $remote 193.232.171.19
port /dev/modem
speed 9600
mode SLIP
exit
---------------------------------------------------------------
# slip с телефонной дозвонкой
---------------------------------------------------------------
main:
get $local uwalt.hacktic.nl
get $remote xs4all.hacktic.nl
port /dev/modem
speed 38400
send ATQ0V1E1X4\r
wait OK 2
dial p555-1234
login:
sleep 2
wait ogin: 20
send MYLOGIN\n
wait ssword: 20
send MYPASSWD\n
# We are now logged in.
wait SOMETEXT 15
get $mtu 296
# Ensure "route add -net default xs4all.hacktic.nl" will be done
default
mode SLIP
---------------------------------------------------------------
На обоих концах иметь симметричные файлы и запустить dip'ы
Linux, CSLIP.
# сперва переводим порт в режим "cslip"
slattach -p cslip /dev/modem &
ifconfig cs0 NASH-IP-ADRES pointopoint IH-IP-ADRES
route add IH-IP-ADRES
route add default gw IH-IP-ADRES
Linux, PLIP.
ifconfig plip1 NASH-IP-ADRES pointopoint IH-IP-ADRES
route add IH-IP-ADRES
route add default gw IH-IP-ADRES
Установка SLIP по телефонной линии через модем.
Надо заставить наш модем созвониться с "тем" модемом.
После этого мы получаем прозрачное соединение между
последовательными портами, по которому и "поднимаем"
SLIP, см. предыдущие пункты.
( stty 19200 ; echo atdp9120123 ) < /dev/modem > /dev/modem
sleep 55
Выдаем на модем команду atdp - набрать телефонный номер, и ждем
55 секунд. Надеюсь, модемам хватит этого времени, чтобы "сню-
хаться".
Восстановление связи в случае обрыва.
Как узнать, что связь порвалась? Ping'ануть "тот" конец линка.
Прежде, чем набирать модемом номер для новой дозвонки,
необходимо "снять" slip с нашего последовательного порта
(поскольку в режиме slip он функционирует не как
последовательный порт, а как канал передачи TCP/IP). Как снять
slip? Кильнуть slattach.
while true # В вечном цикле
do sleep 60 # Подождать минутку
if ping 107.65.8.254 | grep 'is alive' ;
then echo Ok > /dev/null # Если IH-IP-ADRES отзывается
else
# Иначе зарубаем slattach
slip_pid=`ps -ef | grep slattach | cut -c1-6`
kill -9 $slip_pid
# набираем тамошний телефонный номер
(stty 19200; echo atdp9120123) < /dev/modem > /dev/modem
sleep 55
# поднимаем slattach
slattach -e /dev/modem 195.8.2.3 107.65.8.254 19200 &
fi
done
&dD * PPP * &d@
&dDMOTOROLA: PPP&d@
/etc/inet/ppphosts - перечисляет ppp-хосты
Правила дозвонки и соединения с этими хостами описываются
стандартными описаниями из UUCP
Убедиться, что поддержка ppp присутствует в
конфигурационном файле /etc/strcf
Убедиться, что при загрузке запускается команда slink
Непосредственное ppp-соединение активизируется при
обращении ("по требованию").
Подробности искать в
man ppp
man pppd
man ppphosts
&dDLinux&d@
Все делается командой pppd. В комплект pppd входит
командочка chat, в аргументах же pppd задаются IP-адреса,
телефонные номера, инициализация модема, chat-овый диалог с
машиной провайдера.
Пример: (Почти из жизни) явно задаем наш IP=123.456.789.12
pppd connect 'chat -v ABORT "NO DIALTONE" ABORT BUSY "" ATZ OK \
atdp9386933 Username: ppmoshkow Passwd: mypasswd mode ;' \
crtscts defaultroute modem noipdefault -detach mru 1500 \
123.456.789.12:194.85.105.1 /dev/modem 38400
Пример: взять адреса заданные сервером
pppd connect 'chat -v ABORT "NO DIALTONE" ABORT BUSY "" ATZ OK \
atdp9386933 Username: ppmoshkow Passwd: mypasswd mode ;' \
crtscts defaultroute modem noipdefault -detach mru 1500 \
0.0.0.0: /dev/modem 38400
&dDWindows 95&d@
Поставить допоолнительный пакет из MS Plus - "Network dialup
script editor"
Подключить через него скрипт:
---------------------------------------------------------------
proc main
waitfor "login:" until 5
transmit $USERID, raw
transmit "^M"
waitfor "Password:"
transmit "password^M"
waitfor "modem" until 5
endproc
---------------------------------------------------------------
В звонильной форме вписать logname, password не вписывать, ибо
все равно он забывается при каждом перезапуске.
&dDHP-UX 10.20&d@
На рабочих станциях под HP-UX/10.20 родного ppp НЕТ. Только slip.
Можно сftpить free-варный пакет iij-ppp
http://www.verinet.com/~barthold/ftp/iij-ppp0.94beta2.hpux10.tar.gz
Документация по конфигурации и инсталляции прилагается к пакету.
На серверах и рабочих станциях SLIP назван "ppl" и включен в
стандартный пакет "LAN/9000 Link" product.
.
&dDСетевая файловая система NFS&d@
- Network File System.
Стандартной сетевой файловой системой для UNIX'а является NFS.
Любая Unix-машина умеет монтировать по протоколу NFS удаленные
файловые системы и использовать их как свои собственные, а так
же может выделять свои каталоги для других машин. Выглядит это
примерно так:
mount -F nfs udalennaq.mashina:/katalog_tam /katalog
или, если у вас BSD или Linux
mount -o rsize=8192,wsize=8192 mashina:/katalog_tam /katalog
ls -al /katalog
Хотя NFS был когда-то разработан для Unix'а, имеется реализация
NFS для MSDOS-овских PC. Эти пакеты принято называть сводным
именем PC/NFS (Не путать с названием "PC-NFS" - это реализация
PC/NFS от фирмы "Sun Select"). Т.е. PC'юк, на котором запущен
NFS для PC, может монтировать в качестве сетевых дисков
каталоги Unix'овской машины, которые она выделяет в NFS. -
Фактически, PC/NFS дает для PC те же самые возможности, что и
Netware - удаленный сетевой диск и удаленный сетевой принтер.
Разница лишь в том, что Unix-host, помимо позволения NFS-ения
себя, в состоянии заниматься и своими собственными задачами, а
сервер Netware ничем кроме обслуживания своих клиентов,
изображая для них диск с ethernet'ом, заниматься не
приспособлен, но работает быстрее раза в 1.5-2. Ну и занимают
NFS-ные резиденты порядка 100 Kb оперативной памяти, в то время
как Netwar'ные - порядка 50.
&dD2.&d@ Оценочные скорости пакетов PC/NFS различных произво-
дителей: 486dx2/66, адаптер wd8013 16 bit:
Пакет: чтение Kb/сек запись
NFS for PC
PC-NFS 4.0 220 120
PC-NFS 5.0(**) 220 120
Pathway 350 170
PCTCP 3.0 350 200
TSOFT (*) 200 100
XFS (*) 500 50
Chameleon NFS(**) 2-е место по результатам тестов
Unix for PC
Linux/NFS(*) 400 350
FreeBSD/NFS(*) 900 300
Unixware/NFS 400 300
Прочие
Netware 3.11 500 600
NW Lite 400 500
WFW (Samba) 150 150
Lantastic ? ?
(*) - условно-бесплатные или бесплатные пакеты
(**) - защищен от нелицензированного копирования
Для сравнения: скорость чтения/записи NFS между двумя
SUN SPARCstation и/или IBM/RS6000 900/400 Kb/сек
&dD3. Для того, чтобы Unix-машина служила NFS сервером&d@
На ней должны быть запущены следующие демоны:
rpc.portmap - демон портов RPC (Remote Procedure Call)
(поскольку NFS использует RPC)
(На Motorole не требуется.)
mountd - обслуживание команд монтирования (он решает -
разрешить/ не разрешить)
nfsd - непосредственное обслуживание протокола NFS
biod - кэширование NFS-чтений на клиенте
(только в SunOS)
pcnfsd - проводит дополнительную "авторизацию" пользо-
вателей на PC/NFS клиентах. Поскольку MSDOS
не занимается учетом и регистрацией пользова-
теля, pcnfsd сам спрашивает у PC-ишного
user'а его имя и пароль.
(не обязателен, но желателен)
Обычно все эти демоны запускаются на уровне выполнения 3. Пос-
мотрите, с большой вероятностью вы обнаружите на своей машине
файл с названием наподобие:
/etc/rc3.d/S22nfs - предназначен для запуска NFS-сервера
Должно быть указано, какие именно каталоги, разрешается "ви-
деть" по NFS, и каким именно машинам это разрешается.
Эти каталоги указываются в файле
/etc/dfs/dfstab и экспортируются явной командой
shareall или share (если у вас SVR4)
или в файле
/etc/exports и экспортируются явно командой
exportfs -a (если у вас какой либо другой UNIX)
&dD4.&d@ Активизация NFS.
Обычно, на машине со свежеустановленным Unix'ом NFS сервер не
активизирован. Чтобы он запустился, системный администратор
должен обеспечить выполнение условий перечисленных в предыдущем
пункте. Для этого достаточно:
&dDMotorola 922&d@
После загрузки переходить на уровень выполнения 3.
В файле /etc/inittab исправить строку
is:2:initdefault:
на строку
is:3:initdefault:
Запускать pcnfsd - демона "авторизации" PCNFS'ных пользователей
В файл /etc/rc3.d/S22nfs вставить команду запуска демона:
/usr/lib/nfs/pcnfsd
Из меню sysadm в network_services / remote_files /
local_recources / share / nfs задать каталоги, которые вы раз-
решаете "раздавать" по NFS. Например, проэкспортируйте каталог
/home
Чтобы исправления в /etc/inittab подействовали, перезагрузите
unix командой
shutdown -y -g0 -i6
&dDLinux&d@
В файле /etc/rc.d/rc.inet2 раскомментируйте строки, запускающие
демонов
rpc.portmap
rpc.nfsd
rpc.mountd
rpc.ugidd
В файл /etc/exports вставьте строку
/ (rw)
Перезагрузитесь
&dDSun Solaris 1.1&d@.
В файл /etc/exports вставьте строки...
/home
/usr
Перезагрузитесь
&dDSun Solaris 2.3&d@.
В файле /etc/dfs/dfstab вставьте строки для экспортируемых фай-
ловых систем. (Формат указан в комментариях в этом файле)
Перезагрузитесь
&dD5.&d@ ЕЩЕ ОДНА СЕТЕВАЯ ФАЙЛОВАЯ СИСТЕМА. RFS. DFS.
RFS - Remote File Sharing. Тоже сетевая файловая система. NFS -
порождение BSD Unix'а, RFS - System V Unix'а. Назначение такое
же, как и у NFS. Каких либо преимуществ по сравнению с NFS не
имеет. Ярко выраженных недостатков, пожалуй, тоже. Значительно
менее распространена, чем NFS. Не имеет automounter'а. Клиентов
RFS for MSDOS PC нет. Зато RFS поддерживает захват и блокировку
файлов, и специальные файлы. Активизировать RFS вряд ли имеет
смысл. Действительно, зачем нам второй Генеральный секретарь?
DFS - Distributed File System. Тоже сетевая файловая система.
Вот и все, что я могу про нее сказать.
.
&dDКонфигурирование automount-демона&d@
Авто-монтировщик - демон, запущенный на NFS-клиенте. Этот
демон монтирует удаленные каталоги "ПО ТРЕБОВАНИЮ" - т.е.,
когда к ним происходит обращение. Если к автоматически
смонтированному каталогу долго не было обращений,
автомонтировщик его автоматически отмонтирует.
Авто-монтирование поддерживается демоном automountd. Этот демон
запускается при начальной загрузке операционной системы.
Запускается он в командном файле
/etc/rc2.d/S20nfs.client
automountd # если все карты будут браться из NIS
или
automountd -m -f /etc/auto.master # брать только локальные
# карты
Управляется automountd несколькими "картами" - файлами с описа-
нием кого и куда надо монтировать. В простейшем случае нужно
иметь три файла:
/etc/auto_master - головной конфигурационный файл
Ссылается на:
/etc/auto_direct - указывает, какие каталоги куда монтировать
/etc/auto_home - задает правила монтирования домашних
каталогов пользователей, расположенных на
Московский узел, раздающий IP-адреса, а так же домены *.ru
доступен по адресу
РосНИИРОС xSU/RU NetworkInformationalCenter
ncc@ripn.net или ncc@ussr.eu.net
www.ripn.net/nic/ripn-docs/
&dDIP-сеть, подсеть.&d@
IP-сеть - "пачка" из 2**n IP-адресов, ИДУЩИХ ПОДРЯД. Самый
младший - резервируется. Этот адрес называется адресом IP-сети.
Например 128.8.0.0, или 193.125.149.64 . Адрес сети использует-
ся, когда требуется указать всю сеть целиком, например, когда
задается маршрутизация до этой сети.
Маска сети - фактически размер сети, задает число адресов в се-
ти. Задается либо количеством битов в маске сети (например 8бит
- 256 адресов, 6 бит - 64 адреса), либо битовой маской вида
b'111...11100...00'
число^^ ^^ битов
которую тоже принято записывать в десятично-побайтной записи,
например:
255.255.255.192 - маска на 64 адреса
255.255.255.0 - маска на 256 адресов
255.255.0.0 - маска на 64Kb адресов
Broadcast адрес сети - самый старший адрес в сети. Резерви-
руется для передачи сообщений типа "все-всем-всем" (в сети).
128.8.255.255
Сети делятся на классы:
Класс A. "Огромные" сети.
Адреса этих сетей лежат в промежутке: 1 - 126.
Маска сети: 255.0.0.0
Содержит до 16387064 адресов (256*256*256).
Адреса хостов в этих сетях вида: 125.*.*.*
Класс B. "Средние" сети.
Адреса этих сетей лежат в промежутке: 128.0 - 191.255
Маска сети: 255.255.0.0
Содержит до 64516 адресов (256*256).
Адреса хостов в этих сетях вида: 136.12.*.*
Класс C. "Маленькие" сети.
Адреса сетей лежат в интервале: 192.0.0 - 255.254.255
Маска сети: 255.255.255.0
Содержит 254 адреса.
Адреса хостов в этих сетях вида: 195.136.12.*
Класс D. "Multicast-сети" (групповая адресация) (в стадии разработки)
Адреса сетей лежат в интервале: 224-239
Класс E. "Экспериментальные" 240-250
Адреса 0, 127, 255 - специальные и для обычных IP не используется
&dD2.1. Private Address Space&d@
Если ваша сеть будет использоваться только внутри
организации, и машины не будут иметь непосредственного выхода в
интернет, то адреса для нее можно брать "с потолка".
В документе RFC 1597 "Address Allocation for Private Internets"
March 1994:
The Internet Assigned Numbers Authority (IANA) зарезервировал
три блока IP адресов для использования во внутренних сетях:
10.0.0.0 - 10.255.255.255 Класс A
172.16.0.0 - 172.31.255.255 Класс B
192.168.0.0 - 192.168.255.255 Класс C
Роутеры большинства ISP эти адреса не маршрутизируют, что
добавляет им(адресам) безопасности.
&dD2. Объявляем IP-адрес на наш ethernet'ный контроллер&d@.
Конфигурация сети на UNIX-машине обычно делается автоматически
при начальной загрузке. Вкратце ее можно описать так:
Определение трех однотипных карт в Linux (1*ISA, 2*PnP):
/etc/conf.modules
alias eth0 ne
alias eth1 ne
alias eth2 ne
options ne io=0x220,irq=5
Объявляем, что наш IP-адрес 198.8.2.1 и он поднят на
ethernet'ную карту по имени elx70 . В случае Motorol'ы так на-
зывается ethernet, торчащий из главной системной платы - платы
с процессором.
ifconfig e1x70 198.8.2.1 up
Объявляем, что наш второй контроллер с именем m3760 (нижняя
плата) имеет IP-адрес 198.8.3.1
ifconfig m3760 198.8.3.1 up
&dD3. Маршрутизация локальной сети&d@.
Объявляем, что машины с адресами вида 198.8.2.* *=1,...,254 си-
дят на нашем верхнем локальном сегменте ethernet, и разговари-
вать с ними надо напрямую, через верхний ethernet, соответству-
ющий нашему адресу 198.8.2.1 - т.е. - elx70. А с машинами, име-
ющими адреса вида 198.8.3.* - через нижний ethernet - с адресом
198.8.3.1
route add net 198.8.2.0 198.8.2.1 netmask 255.255.255.0 0
route add net 198.8.3.0 198.8.3.1 netmask 255.255.255.0 0
Сетевые пакеты для IP-адресов, которые не лежат в нашей локаль-
ной сети, переправлять на машину с сетевым адресом 198.8.2.107
- а уж она сама будет разбираться, что с ними делать, и как
доставить их до конкретных адресатов.
route add default 198.8.2.107 1
Последний аргумент команды route - метрика. Ее можно интерпре-
тировать как "расстояние" до "того" gateway'я, или "сколько пе-
ресадок между gateway'ями придется сделать IP-пакету по дороге
туда. Поскольку IP-адреса 198.8.2.1 и 198.8.3.1 соответствуют
нашим собственный платам ethernet, то и метрика (расстояние) до
них 0. 198.8.2.107 - другая машина - "расстояние до нее" 1.
Смотрим, что у нас получилось
netstat -rn # распечатать таблицу маршрутизации
ping -s fedfond # "прозвонить" узлы сети
ping -s fedfond-gate
ping -s 198.8.2.107
netstat -i # статистика о работе сетевых интерфейсов
Настала пора объяснить, что такое lo0 и localhost. Это так на-
зываемый Loop-back интерфейс. Он имитирует сетевой интерфейс
локально, не выходя за границы нашего компьютера. Loop-back ин-
терфейсу соответствует зарезервированный за ним IP-адрес
127.0.0.1
&dD4.&d@ Конфигурирование TCP/IP на Мотороле 922.
Придумайте сетевое имя вашего компьютера. Пусть вы решили, что
ваш компьютер должен называться fedfond, и иметь IP-adres
198.8.2.1 . Однако не забывайте, что у Моторолы ДВА etherн
net-контроллера, и КАЖДЫЙ из них ДОЛЖЕН иметь свой УНИКАЛЬНЫЙ
IP-адрес. Мы решаем, что второй наш ethernet будет иметь
IP-адрес 198.8.3.1, ну и этому адресу можно назначить вполне
человеческое имя, например "fedfond-gate".
ВНИМАНИЕ: если вы внимательно рассмотрите содержание файла
/etc/inet/rc.inet, особенно строку вида
/usr/sbin/ifconfig e1x70 `uname -n`-gate $net_mask up
то поймете, что второй ethernet должен называться именно
fedfond-gate , и никак иначе.
Итак, чтобы установить сетевое имя и IP-адреса нашего host'а
1. командой sysadm установите "nodename" . ВНИМАНИЕ: именно
nodename (имя узла) а не systemname (имя операционной системы)
2. В файл /etc/hosts вставьте строчки, привязывающие IP-адреса
к имени fedfond и, ВНИМАНИЕ!, fedfond-gate
198.8.2.1 fedfond
198.8.3.1 fedfond-gate
3. Перезагрузитесь.
&dDКонфигурирование 2-го ethernet в Linux&d@
Первый-то ethernet конфигурится с раздачи - сложность появится,
когда мы захотим увидеть второй. Например можно в
/etc/rc.d/rc.local поставить такие команды:
# подгрузка дравера с дековским чипом 2140
insmod /lib/modules/2.0.18/de4x5.o io=0
# выделение IP # статический роутинг на вторую сетку
ifconfig eth1 10.232.172.1
route add -net 10.232.172.0 gw 10.232.172.1 netmask 255.255.255.0
Если дравер 2-го ethernet'а вкомпилирован в ядро, то
активизировать его можно так: в файл /etc/lilo.conf вписать
append="ether=0,0,eth0 ether=0,0,eth1" # если сработает autoprobe
# в случае явного задания параметров карт
append="ether=10,0x300,0xe800,eth0 ether=12,0x280,eth1"
Включить роутинг:
echo 1 > /proc/sys/net/ipv4/ip_forward
&dDКак узнать hardware адрес ethernet'ной карты&d@
Если машины нормально сконфигурированы для TCP/IP, то
достаточно попинговать их явно или по броадкасту, затем arp -a
ping [-s] 123.456.789.255
arp -a
Почти всегда можно разобрать машину, и посмотреть адрес,
напечатанный на самой плате.
Linux: Адрес печатается при загрузке ядра.
Если карта сконфигурирована, то адрес сообщает команда
ifconfig
Sun: Адрес печатается boot-монитором при старте
Hardware адрес ethernet'а на Sun можно произвольно менять
находясь в boot-мониторе, или командой ifconfig
подробности см. в Sun NVRAM & hostid FAQ
HP-UX: Адрес можно узнать командой lanscan. На рабочих станциях
адрес можно узнать еще и из boot-монитора PDC.
&dD5. Прикладные интерфейсы&d@.
Чтобы писать программы, работающие с сетью, программист должен
пользоваться каким-либо набором системных вызовов и функций. От
BSD-Unix'а в жизнь вошел получивший большую популярность API
Berkеlеy-sockets. AT&T System V породила TLI (Transport Level
Interface) - построенный на технологии "потоков" (streams).
SVR4 поддерживает и то, и другое. Поддержку сокетов
обеспечивает демон inetd (Internet Super Server), поддержку TLI
обеспечивает демон listen (Network Listener).
&dD6.&d@ Конфигурация TLI
Демон listen управляется специальной базой данных, в которую
необходимо вписать IP-адрес нашего host'а. Делается это "один
раз в жизни". IP-адрес задается в хитрой шестнадцатеричной за-
писи.
Итак, если наши IP-адреса 198.8.2.1 и 198.8.3.1, их шестнадца-
теричная запись C6080201, C6080301 , то мы должны единовременно
выполнить три команды:
nlsadmin -i tcp
nlsadmin -l '\x00020acec60802010000000000000000' tcp
nlsadmin -l '\x00020acec60803010000000000000000' tcp
"волшебное ^^^^^^^^шестнадцать нулей
слово 0acе" |
|
сюда вписывается наш фактический IP-адрес
&dD7.&d@ Конфигурация BSD сокетов.
Для этого ничего делать не надо. Врочем, в дальнейшем,
возможно, вам придется этим заниматься. Настройки inetd лежат в
файлах:
/etc/inetd.conf название сетевого --> имя обслуживающей
сервиса программы
/etc/services номер порта --> название сетевого сервиса
Состояние текущих соединений можно посмотреть командой:
netstat (или netstat -ta - если у вас Linux)
&dDЕще несколько протоколов&d@
ARP - Address Resolution Protocol
Протокол низкого уровня. Поддерживается на уровне ядра и/или
дравера сетевой платы. Для определения, какой ethernet'ный
адрес имеет машина, если известен ее IP-адрес. Работает по
принципу broadcаst: "эй, все, все, все: IP-такой_то -
отзовись", и он один отзывается.
arp -a # распечатать известные нам IP-адреса и их eth-адреса
RARP - Reverse Address Resolution Protocol.
Для оповещения бездисковых клиентов, какой у них IP-адрес. На
сервере запускается демон rarpd. У него есть файл-таблица:
ether-адрес -> IP-адрес. По запросу-broadcast'у бездискового
клиента вида: "эй, все,все,все, мой eth-адрес такой-то. Как
меня зовут?" rarpd сообщает ему, какой у него IP (а другой де-
мон bootparamd сообщает ему дополнительную информацию - где ему
брать свою корневую файловую систему, например).
Для обмена информацией о роутинге (маршрутизации) используются
протоколы RIP, BGP, EGP, ICMP.
RIP - Routing Information Protocol
Внутренний протокол роутинга (внутри автономной системы). Его
поддерживают демоны routed и/или gated.
BGP - Border Gateway Protocol
EGP - External Gateway Protocol
Роутинг между автономными системами. Их поддерживает демон
gated
ICMP - Internet Control Message Protocol
передает сообщения об ошибках в TCP/IP (например "port
unreachable"), используется программами ping, traceroute, может
передавать сообщение о нерациональном роутинге типа "redirect":
"вообще-то можно направлять пакеты через меня, однако есть и бо-
лее короткий путь".
Для обмена информацией о символических именах host'ов,
пользователей, групах пользователей и пр. используются
протоколы DNS и NIS/YP
DNS - Domain Name System.
Позволяет использовать символические имена хостов помимо цифро-
вых IP-номеров, и организовывать "деревянную" структуру наиме-
нования доменов (типа pc101.fedfond.msk.su , ftp.sco.com и
т.п.) Сервер DNS - хост, на котором запущен демон bind, и хра-
нятся имена хостов в зоне(домене). На остальных хостах для оп-
ределения IP-адреса по имени используются библиотечные функции
библиотеки "resolver" - gethostbyname, gethostbyaddr, которые
обращаются по сети к ближайшему серверу DNS, и выясняют у него
IP-адрес машины по ее имени (domain-name).
NIS/YP - Network Information System (используется так же
название, пришедшее от фирмы Sun - Yellow Pages). Позволяет
хранить на одном NIS-сервере (с демоном ypserv) информацию,
единую для всей локальной сети: имена хостов, имена и права
пользователей, групп пользователей, название их домашних
каталогов, символические имена портов и т.д. и т.п.
Еще раз об отличиях DNS от NIS/YP: DNS - система "глобальная" -
действует в рамках всего Интернета, но содержит ТОЛЬКО имена
хостов. NIS/YP - содержит помимо имен хостов несколько других
информационных баз, но зато поддерживается только в рамках сети
одной организации.
&dDКонфигурирование TCP/IP на скорую руку&d@
В большинстве unix-ов имеется простая менюшная утилита
позволяющая сконфигурировать основные параметры компьютера: Имя
хоста, IP адрес и параметры сети, DNS сервера
HP/UX: /etc/set_parms initial
Linux Slackware: net_config
Solaris: /etc/???
.
&dDОрганизация TCP/IP по последовательным линиям&d@
Протокол TCP/IP не обязательно требует наличия etherн
net'ной сети. Вполне допустимы и другие физические носители,
например:
Последовательные линии с подключением через порты RS-232,
Скоростные линии с подключением через параллельные порты,
или скоростные синхронные порты (например 485, V.435).
Эти возможности обеспечиваются специализированными реализациями
протокола IP:
для подключения через RS-232
SLIP - Serial Line IP - самая первая реализация TCP/IP "для
бедных", широко используется до сих пор.
CSLIP - Compressed SLIP - модификация протокола SLIP.
Сжатию подвергаются заголовки IP-пакетов. ВНИМАНИЕ: но
не сами данные! В стандартном IP-пакете IP-заголовки со
служебной информацией занимают порядка 40 байт. В
CSLIP'е эти заголовки ужимаются до 3 байт. При пересыл-
ке большого числа мелких пакетов получается существен-
ный выигрыш в скорости. Если пакеты крупные, то выигры-
ша не будет никакого.
PPP - Point-to-Point Protocol
Еще одна, современная реализация TCP "для бедных". Яв-
ляется стандартным для SVR4. Более универсален. Позво-
ляет также организовать передачу по последовательной
линии протокола IPX. Поддерживает режимы эмуляции slip
и cslip - для совместимости.
для подключения через Centronix-параллельный порт
PLIP - Parallel Line IP - некоторые скажут - экзотика.
Ничуть не бывало. Весьма распространенная вещь. Вот
когда TCP/IP по SCSI-шине - это да, это - экзотика.
Кстати, RFC 1149 описывает передачу пакетов IP голубиной
почтой.
&dDTCP/IP по спутниковой связи&d@.
Теоретических трудностей организация связи TCP/IP через
спутниковую антенну нет - все выглядит также, как при модемной
связи по телефону. Технология примерно следующая: с антенны
выходит высокочастотный сигнал, сигнал прогоняется сквозь
спутниковый модем, из модема выходит поток данных по формату
High Speed Interface - завести в компьютер его можно через
скоростной порт, например V.435 (логически он ведет себя
приблизительно как обычный последовательный порт), и со стороны
хоста - поднимается протокол PPP. Естественно, на "том конце"
предполагается та же схема подключения.
+-------------------+ +-----------------+ (
| протокол порт| данные |порт спутниковый| сигнал ( ><
|Host PPP V.435|========|V.435 модем | ~~~~~~ (
| -TCP/IP-> | | | ~~~~~~ /\
+-------------------+ +-----------------+ Антенна
Вместо Хоста со скоростным портом, модем можно подключить к
специализированному устройству - "Роутеру", внутри которого
"зашит" протокол TCP/IP (PPP, Ether), и имеются порты Ethernet,
и High Speed Interface. Достаточно популярны для таких целей
роутеры "Cisco router", "NetBlaser".
+-------------------+ +-----------------+ (
| протокол порт| данные |порт спутниковый| сигнал ( ><
|Router PPP V.435|========|V.435 модем | ~~~~~~ (
| -TCP/IP-> | | | ~~~~~~ /\
+-------+-----------+ +-----------------+ Антенна
|
... -Ethernet------ ...
&dDСкорость, которую можно получить&d@.
Скорость главным образом зависит от типа и качества линии свя-
зи, используемых модемов, и типа порта, в который этот модем
воткнут.
Практические ограничения на скорость:
Скорость данных между модемами V32bis/V42 по городскому телефо-
ну, или междугородней линии "Искра" до 16800 бит/сек. Реально ~
12000 бит/с. Наличие встроенного протокола V42 сжатия данных
позволяет поднять реальную (замеренную уже не между модемами, а
между портами) скорость передачи несжатых данных в 2-4 раза,
т.е. до 38400-57600 бит/с
Максимальная скорость приема/передачи данных на
последовательном порту RS-232 зависит от наличия в оном
микросхем UART (Universal Asyncronous Receiver-Transmitter)
16450 - 19200 bit/s.
16550 - 19200 bit/s. (отсутствие буковки "A" - фатально)
16550A - 38400 bit/s.
16550A до 115200 bit/s. (Если операционная система "тянет")
(в частности - Solaris, Unixware - нет,
FreeBSD, Netblaser, Cisco router - да)
В итоге реальная скорость пересылки данных:
Телефон/"Искра", V32bis/V42 - 19200 бит/с.
Выделенная 2-х проводка, V32bis/V42 - 38400 бит/с.
Выделенная 4-х проводка, RAID,????? - 115200 бит/с.
Физическая 4-х проводка<=4км, ????? до 1 Мбит/с.
Оптоволокно <=?км, ????? ?? 2 Мбит/с.
Антенна. Спутниковый модем. Порт V.435. PPP 64, 128, 256 Кбит/с
&dD * Конфигурирование SLIP/CSLIP * &d@.
Для этого соединяем два host'а нульмодемным кабелем через
последовательные порты, и запускаем фоном программу slattach,
переводящую порты в режим передачи протокола TCP/IP.
Естественно, что SLIP надо запускать с обоих концов, причем
"одинаковый".
SVR4, slip
slattach /dev/comport NASH-IP-ADRES IH-IP-ADRES 19200 &
# переводит порт /dev/comport в режим "slip" на скорости 19200
# и устанавливает IP-адрес на slip-интерфейс
SVR4, cslip
slattach -c /dev/comport NASH-IP-ADRES IH-IP-ADRES 38400 &
# переводит порт /dev/comport в режим "Compressed-slip"
# на скорости 38400
# и устанавливает IP-адрес на C-slip-интерфейс
slattach -e /dev/comport NASH-IP-ADRES IH-IP-ADRES 38400 &
# переводит порт в режим slip или cslip,
# автоматически определяя, какой именно протокол запущен
# "на том конце", и устанавливает со своей стороны такой же
Linux, SLIP.
<!-- этот фрагмент устарел
slattach -p slip /dev/modem & # переводит порт в режим "slip"
ifconfig sl0 NASH-IP-ADRES pointopoint IH-IP-ADRES
route add IH-IP-ADRES
route add default gw IH-IP-ADRES
-->
Теперь SLIP в Linux заряжается командой DIP, с конфигурационным файлом:
/usr/sbin/dip config-file-name
---------------------------------------------------------------
# прямой коннект нульмодемным кабелем
main:
get $local 193.232.171.22
get $remote 193.232.171.19
port /dev/modem
speed 9600
mode SLIP
exit
---------------------------------------------------------------
# slip с телефонной дозвонкой
---------------------------------------------------------------
main:
get $local uwalt.hacktic.nl
get $remote xs4all.hacktic.nl
port /dev/modem
speed 38400
send ATQ0V1E1X4\r
wait OK 2
dial p555-1234
login:
sleep 2
wait ogin: 20
send MYLOGIN\n
wait ssword: 20
send MYPASSWD\n
# We are now logged in.
wait SOMETEXT 15
get $mtu 296
# Ensure "route add -net default xs4all.hacktic.nl" will be done
default
mode SLIP
---------------------------------------------------------------
На обоих концах иметь симметричные файлы и запустить dip'ы
Linux, CSLIP.
# сперва переводим порт в режим "cslip"
slattach -p cslip /dev/modem &
ifconfig cs0 NASH-IP-ADRES pointopoint IH-IP-ADRES
route add IH-IP-ADRES
route add default gw IH-IP-ADRES
Linux, PLIP.
ifconfig plip1 NASH-IP-ADRES pointopoint IH-IP-ADRES
route add IH-IP-ADRES
route add default gw IH-IP-ADRES
Установка SLIP по телефонной линии через модем.
Надо заставить наш модем созвониться с "тем" модемом.
После этого мы получаем прозрачное соединение между
последовательными портами, по которому и "поднимаем"
SLIP, см. предыдущие пункты.
( stty 19200 ; echo atdp9120123 ) < /dev/modem > /dev/modem
sleep 55
Выдаем на модем команду atdp - набрать телефонный номер, и ждем
55 секунд. Надеюсь, модемам хватит этого времени, чтобы "сню-
хаться".
Восстановление связи в случае обрыва.
Как узнать, что связь порвалась? Ping'ануть "тот" конец линка.
Прежде, чем набирать модемом номер для новой дозвонки,
необходимо "снять" slip с нашего последовательного порта
(поскольку в режиме slip он функционирует не как
последовательный порт, а как канал передачи TCP/IP). Как снять
slip? Кильнуть slattach.
while true # В вечном цикле
do sleep 60 # Подождать минутку
if ping 107.65.8.254 | grep 'is alive' ;
then echo Ok > /dev/null # Если IH-IP-ADRES отзывается
else
# Иначе зарубаем slattach
slip_pid=`ps -ef | grep slattach | cut -c1-6`
kill -9 $slip_pid
# набираем тамошний телефонный номер
(stty 19200; echo atdp9120123) < /dev/modem > /dev/modem
sleep 55
# поднимаем slattach
slattach -e /dev/modem 195.8.2.3 107.65.8.254 19200 &
fi
done
&dD * PPP * &d@
&dDMOTOROLA: PPP&d@
/etc/inet/ppphosts - перечисляет ppp-хосты
Правила дозвонки и соединения с этими хостами описываются
стандартными описаниями из UUCP
Убедиться, что поддержка ppp присутствует в
конфигурационном файле /etc/strcf
Убедиться, что при загрузке запускается команда slink
Непосредственное ppp-соединение активизируется при
обращении ("по требованию").
Подробности искать в
man ppp
man pppd
man ppphosts
&dDLinux&d@
Все делается командой pppd. В комплект pppd входит
командочка chat, в аргументах же pppd задаются IP-адреса,
телефонные номера, инициализация модема, chat-овый диалог с
машиной провайдера.
Пример: (Почти из жизни) явно задаем наш IP=123.456.789.12
pppd connect 'chat -v ABORT "NO DIALTONE" ABORT BUSY "" ATZ OK \
atdp9386933 Username: ppmoshkow Passwd: mypasswd mode ;' \
crtscts defaultroute modem noipdefault -detach mru 1500 \
123.456.789.12:194.85.105.1 /dev/modem 38400
Пример: взять адреса заданные сервером
pppd connect 'chat -v ABORT "NO DIALTONE" ABORT BUSY "" ATZ OK \
atdp9386933 Username: ppmoshkow Passwd: mypasswd mode ;' \
crtscts defaultroute modem noipdefault -detach mru 1500 \
0.0.0.0: /dev/modem 38400
&dDWindows 95&d@
Поставить допоолнительный пакет из MS Plus - "Network dialup
script editor"
Подключить через него скрипт:
---------------------------------------------------------------
proc main
waitfor "login:" until 5
transmit $USERID, raw
transmit "^M"
waitfor "Password:"
transmit "password^M"
waitfor "modem" until 5
endproc
---------------------------------------------------------------
В звонильной форме вписать logname, password не вписывать, ибо
все равно он забывается при каждом перезапуске.
&dDHP-UX 10.20&d@
На рабочих станциях под HP-UX/10.20 родного ppp НЕТ. Только slip.
Можно сftpить free-варный пакет iij-ppp
http://www.verinet.com/~barthold/ftp/iij-ppp0.94beta2.hpux10.tar.gz
Документация по конфигурации и инсталляции прилагается к пакету.
На серверах и рабочих станциях SLIP назван "ppl" и включен в
стандартный пакет "LAN/9000 Link" product.
.
&dDСетевая файловая система NFS&d@
- Network File System.
Стандартной сетевой файловой системой для UNIX'а является NFS.
Любая Unix-машина умеет монтировать по протоколу NFS удаленные
файловые системы и использовать их как свои собственные, а так
же может выделять свои каталоги для других машин. Выглядит это
примерно так:
mount -F nfs udalennaq.mashina:/katalog_tam /katalog
или, если у вас BSD или Linux
mount -o rsize=8192,wsize=8192 mashina:/katalog_tam /katalog
ls -al /katalog
Хотя NFS был когда-то разработан для Unix'а, имеется реализация
NFS для MSDOS-овских PC. Эти пакеты принято называть сводным
именем PC/NFS (Не путать с названием "PC-NFS" - это реализация
PC/NFS от фирмы "Sun Select"). Т.е. PC'юк, на котором запущен
NFS для PC, может монтировать в качестве сетевых дисков
каталоги Unix'овской машины, которые она выделяет в NFS. -
Фактически, PC/NFS дает для PC те же самые возможности, что и
Netware - удаленный сетевой диск и удаленный сетевой принтер.
Разница лишь в том, что Unix-host, помимо позволения NFS-ения
себя, в состоянии заниматься и своими собственными задачами, а
сервер Netware ничем кроме обслуживания своих клиентов,
изображая для них диск с ethernet'ом, заниматься не
приспособлен, но работает быстрее раза в 1.5-2. Ну и занимают
NFS-ные резиденты порядка 100 Kb оперативной памяти, в то время
как Netwar'ные - порядка 50.
&dD2.&d@ Оценочные скорости пакетов PC/NFS различных произво-
дителей: 486dx2/66, адаптер wd8013 16 bit:
Пакет: чтение Kb/сек запись
NFS for PC
PC-NFS 4.0 220 120
PC-NFS 5.0(**) 220 120
Pathway 350 170
PCTCP 3.0 350 200
TSOFT (*) 200 100
XFS (*) 500 50
Chameleon NFS(**) 2-е место по результатам тестов
Unix for PC
Linux/NFS(*) 400 350
FreeBSD/NFS(*) 900 300
Unixware/NFS 400 300
Прочие
Netware 3.11 500 600
NW Lite 400 500
WFW (Samba) 150 150
Lantastic ? ?
(*) - условно-бесплатные или бесплатные пакеты
(**) - защищен от нелицензированного копирования
Для сравнения: скорость чтения/записи NFS между двумя
SUN SPARCstation и/или IBM/RS6000 900/400 Kb/сек
&dD3. Для того, чтобы Unix-машина служила NFS сервером&d@
На ней должны быть запущены следующие демоны:
rpc.portmap - демон портов RPC (Remote Procedure Call)
(поскольку NFS использует RPC)
(На Motorole не требуется.)
mountd - обслуживание команд монтирования (он решает -
разрешить/ не разрешить)
nfsd - непосредственное обслуживание протокола NFS
biod - кэширование NFS-чтений на клиенте
(только в SunOS)
pcnfsd - проводит дополнительную "авторизацию" пользо-
вателей на PC/NFS клиентах. Поскольку MSDOS
не занимается учетом и регистрацией пользова-
теля, pcnfsd сам спрашивает у PC-ишного
user'а его имя и пароль.
(не обязателен, но желателен)
Обычно все эти демоны запускаются на уровне выполнения 3. Пос-
мотрите, с большой вероятностью вы обнаружите на своей машине
файл с названием наподобие:
/etc/rc3.d/S22nfs - предназначен для запуска NFS-сервера
Должно быть указано, какие именно каталоги, разрешается "ви-
деть" по NFS, и каким именно машинам это разрешается.
Эти каталоги указываются в файле
/etc/dfs/dfstab и экспортируются явной командой
shareall или share (если у вас SVR4)
или в файле
/etc/exports и экспортируются явно командой
exportfs -a (если у вас какой либо другой UNIX)
&dD4.&d@ Активизация NFS.
Обычно, на машине со свежеустановленным Unix'ом NFS сервер не
активизирован. Чтобы он запустился, системный администратор
должен обеспечить выполнение условий перечисленных в предыдущем
пункте. Для этого достаточно:
&dDMotorola 922&d@
После загрузки переходить на уровень выполнения 3.
В файле /etc/inittab исправить строку
is:2:initdefault:
на строку
is:3:initdefault:
Запускать pcnfsd - демона "авторизации" PCNFS'ных пользователей
В файл /etc/rc3.d/S22nfs вставить команду запуска демона:
/usr/lib/nfs/pcnfsd
Из меню sysadm в network_services / remote_files /
local_recources / share / nfs задать каталоги, которые вы раз-
решаете "раздавать" по NFS. Например, проэкспортируйте каталог
/home
Чтобы исправления в /etc/inittab подействовали, перезагрузите
unix командой
shutdown -y -g0 -i6
&dDLinux&d@
В файле /etc/rc.d/rc.inet2 раскомментируйте строки, запускающие
демонов
rpc.portmap
rpc.nfsd
rpc.mountd
rpc.ugidd
В файл /etc/exports вставьте строку
/ (rw)
Перезагрузитесь
&dDSun Solaris 1.1&d@.
В файл /etc/exports вставьте строки...
/home
/usr
Перезагрузитесь
&dDSun Solaris 2.3&d@.
В файле /etc/dfs/dfstab вставьте строки для экспортируемых фай-
ловых систем. (Формат указан в комментариях в этом файле)
Перезагрузитесь
&dD5.&d@ ЕЩЕ ОДНА СЕТЕВАЯ ФАЙЛОВАЯ СИСТЕМА. RFS. DFS.
RFS - Remote File Sharing. Тоже сетевая файловая система. NFS -
порождение BSD Unix'а, RFS - System V Unix'а. Назначение такое
же, как и у NFS. Каких либо преимуществ по сравнению с NFS не
имеет. Ярко выраженных недостатков, пожалуй, тоже. Значительно
менее распространена, чем NFS. Не имеет automounter'а. Клиентов
RFS for MSDOS PC нет. Зато RFS поддерживает захват и блокировку
файлов, и специальные файлы. Активизировать RFS вряд ли имеет
смысл. Действительно, зачем нам второй Генеральный секретарь?
DFS - Distributed File System. Тоже сетевая файловая система.
Вот и все, что я могу про нее сказать.
.
&dDКонфигурирование automount-демона&d@
Авто-монтировщик - демон, запущенный на NFS-клиенте. Этот
демон монтирует удаленные каталоги "ПО ТРЕБОВАНИЮ" - т.е.,
когда к ним происходит обращение. Если к автоматически
смонтированному каталогу долго не было обращений,
автомонтировщик его автоматически отмонтирует.
Авто-монтирование поддерживается демоном automountd. Этот демон
запускается при начальной загрузке операционной системы.
Запускается он в командном файле
/etc/rc2.d/S20nfs.client
automountd # если все карты будут браться из NIS
или
automountd -m -f /etc/auto.master # брать только локальные
# карты
Управляется automountd несколькими "картами" - файлами с описа-
нием кого и куда надо монтировать. В простейшем случае нужно
иметь три файла:
/etc/auto_master - головной конфигурационный файл
Ссылается на:
/etc/auto_direct - указывает, какие каталоги куда монтировать
/etc/auto_home - задает правила монтирования домашних
каталогов пользователей, расположенных на