Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

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

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

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

  • Последовательные линии с подключением через порты 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-шине - это да, это - экзотика.

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

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

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

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

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

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

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

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
         sleep 55
         # поднимаем slattach
         slattach -e /dev/modem  195.8.2.3  107.65.8.254 19200 &
  fi
done

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




  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте