Организация TCP/IP по последовательным линиям

Протокол TCP/IP не обязательно требует наличия ethernet'ной се- ти. Вполне допустимы и другие физические носители, например:

Эти возможности обеспечиваются специализированными реализациями протоколы IP:

TCP/IP по спутниковой связи.

Теоретических трудностей организация связи TCP/IP через спутниковую антенну нет - все выглядит также, как при модемной связи по телефону. Технология примерно следующая: с антенны выходит высокочастотный сигнал, сигнал прогоняется сквозь спутниковый модем, из модема выходит поток данных по формату High Speed Interface - завести в компьютер его можно через скоростной порт, например V.435 (логически он ведет себя приблизительно как обычный последовательный порт), и со стороны хоста - поднимается протокол PPP. Естественно, на "том конце" предполагается та же схема подключения.

Вместо Хоста со скоростным портом, модем можно подключить к специализированному устройству - "Роутеру", внутри которого "зашит" протокол TCP/IP (PPP, Ether), и имеются порты Ethernet, и High Speed Interface. Достаточно популярны для таких целей роутеры "Cisco router", "NetBlaser".

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

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

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

В итоге реальная скорость пересылки данных:

Конфигурирование 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.


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

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

[Назад] [Содержание] [Вперед]