Опубликован: 01.07.2008 | Доступ: свободный | Студентов: 2185 / 322 | Оценка: 3.78 / 3.77 | Длительность: 11:57:00
Лекция 7:

Всемирная сеть Internet

< Лекция 6 || Лекция 7: 123 || Лекция 8 >

Скорость, которую можно получить

Скорость главным образом зависит от типа и качества линии связи, используемых модемов, и типа порта, в который этот модем воткнут.

Практические ограничения на скорость:

Скорость данных между модемами 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 Кбит/с

Конфигурирование SLIP/CSLIP

Для этого соединяем два 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

Теперь 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

PPP

MOTOROLA: PPP

/etc/inet/ppphosts - перечисляет ppp-хосты

Правила дозвонки и соединения с этими хостами описываются стандартными описаниями из UUCP

Убедиться, что поддержка ppp присутствует в конфигурационном файле /etc/strcf

Убедиться, что при загрузке запускается команда slink

Непосредственное ppp-соединение активизируется при обращении ("по требованию").

Подробности искать в

man ppp
 man pppd
 man ppphosts
Linux

Все делается командой 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
Windows 95

Поставить дополнительный пакет из 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 не вписывать, ибо все равно он забывается при каждом перезапуске.

HP-UX 10.20

На рабочих станциях под 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.

< Лекция 6 || Лекция 7: 123 || Лекция 8 >