Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

5.3.3.3. Соединение по dip при динамическом IP адресе

Если ваш SLIP-сервер выдает IP адреса динамически, то вы, разумеется, не знаете заранее свой адрес, поэтому вы не можете включить его в /etc/hosts. (Между тем вы должны включить запись для своего хоста с адресом обратной связи (loopback address) 127.0.0.1.)

Многие SLIP-сервера выдают ваш IP адрес (также как и адрес сервера) во время соединения. Например, один тип SLIP-сервера выдает такое сообщение:

    Your IP address is 128.253.154.44.
    Server address is 128.253.154.2.

dip может перехватить эти номера с выхода сервера и использовать их для настройки SLIP-устройств.

Смотрите выше Раздел 5.3.3.1 относительно информации по настройке различных файлов для TCP/IP при использовании SLIP. Ниже мы объясняем, как настраивать dip для связи со SLIP-сервером.

5.3.4. Использование dip

dip может упростить процесс соединения со SLIP-сервером, войти и настроить SLIP-устройства. Если только у вас не выделенная линия для SLIP-сервера, dip - это то, что вам надо.

Для использования dip вы должны написать "сценарий болтовни" (``chat script''), который содержит перечень команд, используемых для связи со SLIP-сервером при входе в систему. Эти команды могут автоматически посылать ваши имя/пароль серверу, а также получать информацию о вашем IP адресе с сервера.

Вот пример такого сценария для использования с сервером динамических IP адресов. Для статических серверов вам потребуется в начале сценария установить значения переменных $local и $remote. В соответствии с вашими локальным IP адресом и адресом сервера соответственно. Более детальную информацию можно получить в Руководстве на dip.

    main:
      # Set Maximum Transfer Unit. This is the maximum size of packets
      # transmitted on the SLIP device. Many SLIP servers use either
      # 1500 or 1006; check with your network admins when in doubt.
      get $mtu 1500
      # Make the SLIP route the default route on your system.
      default
      # Set the desired serial port and speed.
      port cua03
      speed 38400
      # Reset the modem and terminal line. If this causes trouble
      # for you, comment it out.
      reset
      # Prepare for dialing. Replace the following with your
      # modem initialization string.
      send AT&C1&D2\\N3&Q5%M3%C1N1W1L1S48=7\r
      wait OK 2
      if $errlvl != 0 goto error
      # Dial the SLIP server
      dial 2546000
      if $errlvl != 0 goto error
      wait CONNECT 60
      if $errlvl != 0 goto error
      # We are connected.  Login to the system.
    login:
      sleep 3
      send \r\n\r\n
      # Wait for the login prompt
      wait login: 10
      if $errlvl != 0 goto error
      # Send your username
      send USERNAME\n
      # Wait for password prompt
      wait ord: 5
      if $errlvl != 0 goto error
      # Send password.
      send PASSWORD\n
      # Wait for SLIP server ready prompt
      wait annex: 30
      if $errlvl != 0 goto error
      # Send commands to SLIP server to initate connection.
      send slip\n
      wait Annex 30
      # Get the remote IP address from the SLIP server. The
      # `get...remote' command reads text in the form xxx.xxx.xxx.xxx,
      # and assigns it to the variable given as the second argument
      # (here, $remote).
      get $remote remote
      if $errlvl != 0 goto error
      wait Your 30
       # Get local IP address from SLIP server, assign to variable
       # $local.
      get $local remote
      if $errlvl != 0 goto error
      # Fire up the SLIP connection
    done:
      print CONNECTED to $remote at $rmtip
      print GATEWAY address $rmtip
      print LOCAL address $local
      mode SLIP
      goto exit
    error:
      print SLIP to $remote failed.
    exit:

dip автоматически выполняет команды ifconfig и route, базирующиеся на значениях переменных $local и $remote. Здесь этим переменным присваиваются значения с использованием удаленных команд get..., которые получают текст со SLIP-сервера и присваивают его названной переменной.

Если команды ifconfig и route, которые выполняет для вас dip не работают, вы можете либо выполнить правильные команды в сценарии shell после выполнения dip, либо модифицировать исходник для самого dip. Выполнение dip с опцией -v будет выдавать отладочную информацию в процессе установления связи, что должно помочь в определении ошибок в работе. Теперь, для того, чтобы выполнить dip и открыть SLIP-соединение вы можете использовать команду, вроде:

    /etc/dip/dip -v /etc/dip/mychat 2>&1

Где различные dip-файлы и сценарий болтовни (mychat.dip) помещены в /etc/dip. Вышеприведенное обсуждение должно быть достаточным для вашего хорошего самочувствия на славном пути в сетевое сообщество через Ethernet или SLIP. И вновь мы настоятельно рекомендуем заглянуть в книгу по TCP/IP, особенно, если ваша сеть имеет специфику в маршрутизации, отличающую ее от рассмотренных здесь.


[ Назад | Оглавление | Далее ]









helloworld.ru © 2001-2021
Все права защищены