歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> Linux服務器設置指南-代理接入服務器(4)

Linux服務器設置指南-代理接入服務器(4)

日期:2017/3/6 15:51:05   编辑:關於Unix
第七節 ISDN撥號 7.2 內置ISDN卡 內置ISDN卡的安裝比較麻煩,造成這種情況的主要原因是卡的型號比較多,而內核支持的范圍十分有限,所以,筆者向大家推薦上海貝爾出的幾種,我們只需要重新編譯內核,加上我們用ISDN的型號就可以啦。 lt;*> ISDN support [*]
  第七節 ISDN撥號
  & 7.1 簡 介
  近兩年來,ISDN在我國蓬勃發展起來,各省市的電信部門相繼開通ISDN業務。尤其在上海、廣州、福州、北京等地,ISDN的發展趨勢更是勢不可擋。就上海來說,到今年5月份,ISDN用戶已達32,000。ISDN憑借其連接速度快、傳輸質量高等優勢正吸引著越來越多的用戶。
  
  什麼是ISDN?
  
  ISDN是綜合業務數字網的簡稱,它由電話綜合數字網(IDN)發展而來。ISDN是數字交換和數字傳輸的結合,它以迅速、准確、經濟、有效的方式提供目前各種通信網絡中現有的業務,而且將通信和數據處理結合起來,開創了很多前所未有的新業務。 ISDN是一個全數字的網絡,也就是說,不論原始信號是話音、文字、數據還是圖象只要可以轉換成數字信號,都能在ISDN網絡中進行傳輸。在傳統的電話網絡中,實現了網絡內部的數字化,但在用戶到電話局之間仍采用模擬傳輸,很容易由於沿途噪聲的積累引起失真。而對於ISDN來說,實現了用戶線的數字化,提供端到端的數字連接,傳輸質量大大提高。
  由於ISDN實現了端到端的數字連接,它可以支持包括話音、數據、圖象等各種業務。隨著電子通信在全球不斷擴大,我們許多人需要和不同地區的用戶交換信息。而現在人們對通信的要求已經不僅是簡單的聲音交換,還需要共享各種格式的不同信息。例如,有些人需要高速數據和文件傳輸;有些人可能需要多媒體和會議電視;有些人則希望能訪問中央數據庫。ISDN的業務覆蓋了現有通信網的全部業務,例如傳真、電話、可視圖文、監視、電子郵件、可視電話、會議電視等,可以滿足不同用戶的需要。 ISDN還有一個基本特性是向用戶提供了標准的入網接口。用戶可以隨意地將不同業務類型的終端結合起來,連接到同一接口上,並且可以隨時改變終端類型。
  ISDN主要有兩種類型:基本速率(BRI)和基群速率(PRI)。電信局向普通用戶提供的均為BRI接口,采用原有的雙絞線,速率可達144Kb/s。BRIISDN可在一對雙絞線上提供兩個B通道(每個64K)和一個D通道(16K),D通道用於傳輸信令,B通道則用於傳輸話音、數據等。一路電話只占用一個B通道,因此,在同時進行多種業務或對話。PRI接口速率為2.048Mb/s,用於需要傳輸大量數據的應用,如PBX,LAN互聯等。
  
  ISDN能做些什麼?
  
  ISDN可向用戶提供各種各樣的業務。目前CCITT將ISDN的業務分為三類:承載業務,用戶終端業務和補充業務。
  承載業務是ISDN網絡提供的信息傳送業務,它提供用戶之間的信息傳送而不改變信息的內容。常用的承載業務有:話音業務、3.1KHz音頻業務和不受限64K數字業務。打電話時一般采用話音業務,該種承載業務向網絡表明目前用戶是在打電話,網絡可以對其做語音壓縮、回波消除、數字話音插空等處理。3.1KHz音頻承載業務主要用於用調制解調器進行數據傳輸或用模擬傳真機發傳真的情況,這類業務可在網絡中對信號進行數模變換,但是其他形式的話音處理技術必須禁止。若要使用ISDN撥號上網,則需要用不受限64K數字業務,此時網絡對於傳送的數據不做任何處理。有時用戶若碰到申請的ISDN線路能打電話卻無法撥號上網的情況,即可能是由於線路上為開放不受限64K數據承載業務所致。
  用戶終端業務是指所有面向用戶的應用業務,它即包含了網絡的功能,又包含了終端設備的功能。用戶可以使用電話、4類傳真、數據傳輸、會議電視等用戶終端業務,但均需要終端設備的支持。
  補充業務則是ISDN網絡在承載業務和用戶終端業務的基礎上提供的其他附加業務,目的是為了給用戶提供更方便的服務。目前上海市電信局向用戶提供的補充業務有:多用戶號碼、子地址、主叫號碼顯示、呼叫等待、呼叫保持等。其中除多用戶號碼由於號碼資源緊張需每個月交納一定費用外,其他補充業務均為免費開放,當然首先您需要到電信局去申請這些業務。這些業務確實可給用戶帶來很大的方便。例如,呼叫等待業務可以使您在兩個電話同時使用時,外面電話還能打進來。呼叫保持則使您在打電話時,將現有的電話暫時掛起,去打新的電話或接聽其他電話,結束後在將原來的電話恢復。
  
  為什麼要用ISDN?
  
  無論是個人還是公司,ISDN都應成為您的首選。因為它有以下諸多好處:
  
  價格便宜:
  
  由於使用單一的網絡提供不同的業務,ISDN大大提高了網絡資源的利用率。用戶不必要購買不同的設備和線路接入不同的網絡。就上海來說,目前電信局對用戶推出ISDN優惠大套餐,只需花490元,即可獲得上海貝爾生產的智能網絡終端和ISDN適配卡,家中原有的模擬電話、傳真機等都可直接接入,通過ISDN適配卡可以128Kb/s的速率上網,所花的費用不到一塊56K調制解調器的價錢。而且每條ISDN線路的月租費為24元,與模擬電話線相同,卻可當兩條模擬線路使用,何樂而不為呢?
  
  高速數據傳輸:
  
  使用ISDN,最高數據傳輸速率可達128Kb/s,相對於現有電話網中的數據速率提高了好幾倍。對於因特網用戶來說,使用56K調制解調器時文件下載速率最快時在4KB/s左右,還需視網絡情況而定,而使用ISDN,若同時使用兩個B信道,下載文件是速率最快可達12KB/s左右,提高整整3倍!這樣,省下來的時間、電話費、上網費就相當可觀了。
  
  高的傳輸質量:
  
  經常上網的用戶肯定有類似經驗,有時下載一個大文件花費了好幾個小時,結果下載完後卻發現由於線路質量差,誤碼率高,下載的文件不能使用。而使用ISDN幾乎不會發生這種問題。由於ISDN采用端到端的數字連接,傳輸質量很高,它不會象模擬線路一樣受到靜電和噪音的影響。此外,由於ISDN中的數字設備便於故障檢測,系統可靠性也得到提高。
  
  使用靈活方便:
  
  ISDN提供各種業務,用戶只需一個入網接口,就能使用網絡提供的各種業務。例如,您可以把電話和個人電腦接入ISDN,在上網的同時可以打電話。還可接入可視電話、會議電視、ISDN路由器等設備。由於這些設備均有相應的國際標准,可以象家用電器一樣具有便攜性,可以從一個插座上拔到另一個有插座的地方去使用。
  總的來說,ISDN是一個非常成熟的技術,它必將以其優質的服務、平民化的價格將您帶入一個全新的數字時代。
  
  & 7.2 內置ISDN卡
  內置ISDN卡的安裝比較麻煩,造成這種情況的主要原因是卡的型號比較多,而內核支持的范圍十分有限,所以,筆者向大家推薦上海貝爾出的幾種,我們只需要重新編譯內核,加上我們用ISDN的型號就可以啦。
  
  &7.2.1 配置
  
  1. 內核配置文件
  
  實例:
  以下是我們需要的選項,由於現在市面上見到的所有中文Linux的發行版均不支持內置的ISDN,所以,我們要想用這個好東東只能自己動手啦。
  在/usr/src/linux目錄下執行make menuconfig,然後在ISDN項中選擇一下選項:
  <*> ISDN support
  [*] Support synchronous PPP
  [*] Use VJ-compression with synchronous PPP
  [*] Support generic MP (RFC 1717)
  [*] Support audio via ISDN
  HiSax SiemensChipSet driver support
  [*] HiSax Support for EURO/DSS1
  [*] Support for german chargeinfo
  [*] Disable sending complete
  [*] Disable sending low layer compatibility
  [*] HiSax Support for Teles 16.3 or PNP or PCMCIA
  [*] HiSax Support for Winbond W6692 based cards
  然後存盤退出,執行make dep,make clean,make bzImage,make modules,make modules_install,depmod –a,make install。
  此時,新的核心已經生成啦,而我們老的核心並沒有被刪除,只是做了一個備份,要是有什麼問題,還是可以恢復的。最後我們需要重新啟動使得新內核生效。
  
  2. isdn4k-utils-3.1beta7_mini-1.i386.rpm
  
  這是一個支持內置ISDN的包,安裝上之後,系統就會識別我們的內置卡了,當然,為了實現撥號,我們還需要寫一個撥號腳本以及相應的掛斷腳本,它們是isdnon和isdnstop。
  
  3. isdnon
  
  實例:
  #!/bin/sh
  echo -n E > /dev/ttyS1
  modprobe hisax type=36 protocol=2
  echo 1 > /proc/sys/net/ipv4/ip_dynaddr
  #Kill previous ipppd process
  if [ -r /var/run/ipppd.ippp0.pid ]
  then kill -9 `cat /var/run/ipppd.ippp0.pid`
  fi
  if [ -r /var/run/ipppd.ippp1.pid ]
  then kill -9 `cat /var/run/ipppd.ippp1.pid`
  fi
  #Variables
  MYIP=0.0.0.0
  REMIP=0.0.0.0
  MYMSN=62986638
  REMMSN=169
  MYUSER=169
  REMNAME=169
  #Init
  /sbin/isdnctrl verbose 3
  #/sbin/isdnlog -sS -v1 -m0x17d7 -l0x3d7 -C /dev/console -D /dev/isdnctrl
  #Add and set ippp0
  /sbin/isdnctrl system on
  /sbin/isdnctrl addif ippp0
  /sbin/isdnctrl eaz ippp0 $MYMSN
  /sbin/isdnctrl addphone ippp0 out $REMMSN
  /sbin/isdnctrl huptimeout ippp0 3600
  /sbin/isdnctrl l2_prot ippp0 hdlc
  /sbin/isdnctrl l3_prot ippp0 trans
  /sbin/isdnctrl encap ippp0 syncppp
  /sbin/isdnctrl dialmode ippp0 auto
  #Add and set ippp1
  /sbin/isdnctrl addslave ippp0 ippp1
  /sbin/isdnctrl eaz ippp1 $MYMSN
  /sbin/isdnctrl addphone ippp1 out $REMMSN
  /sbin/isdnctrl huptimeout ippp1 3600
  /sbin/isdnctrl l2_prot ippp1 hdlc
  /sbin/isdnctrl l3_prot ippp1 trans
  /sbin/isdnctrl encap ippp1 syncppp
  /sbin/isdnctrl dialmode ippp1 auto
  /sbin/ifconfig ippp0 -arp -broadcast
  #Startup PPP
  /sbin/ipppd user $MYUSER remotename $REMNAME lock noipdefault +mp ipcp-aclearcase/" target="_blank" >ccept-local ipcp-accept-remote name $MYUSER -detach mru 552 mtu 552 lcp-restart 1 defaultroute /dev/ippp0 &
  /sbin/ipppd user $MYUSER remotename $REMNAME lock noipdefault +mp ipcp-accept-local ipcp-accept-remote name $MYUSER -detach mru 552 mtu 552 lcp-restart 1 defaultroute /dev/ippp1 &
  
  4. isdnstop
  
  實例:
  #!/bin/sh
  echo -n G > /dev/ttyS1
  ifconfig ippp0 down >/dev/null 2>&1
  isdnctrl delif ippp0 >/dev/null 2>&1
  killall -9 ipppd >/dev/null 2>&1
  sleep 2
  echo -n H > /dev/ttyS1
  
  &7.2.2 測試及管理辦法
  
  1.管理員通過執行/sbin/imon來監控內置ISDN的工作狀況
  2.管理員可以執行/usr/sbin/ipppstats來監控內置ISDN的流量
  
  & 7.3 外置ISDN
  &7.3.1 說明
  
  由於現在最新的內核2.4.2不支持USB接口的ISDN.所以,我們這裡所說的外置ISDN指的是串口的.
  安裝串口ISDN的方法有許多種,筆者從自身實踐中感覺,將ISDN當成Modem一樣用比較方便,這樣不需要安裝其余RPM包,又不用設置DNS,所以將外置串口的ISDN當Modem用既簡單,又實用.
  
  &7.3.2 配置
  
  1./etc/ppp/isdndial
  
  說明:
  源文件:
  "" ATZ   # 初始化設備
  OK ATX0   # 自動測試連接速率
  OK AT%B8   # 以115200連接
  OK ATB31   # 多鏈路連接(雙信道)
  OK ATD169   # 撥號
  
  2./etc/ppp/options
  
  說明:
  源文件:(同Modem)
  demand
  modem
  lock
  crtscts
  defaultroute
  asyncmap 0
  ipcp-accept-local
  ipcp-accept-remote
  ipcp-max-configure 5
  ipcp-restart 1
  mtu 552
  mru 552
  name 169
  usepeerdns
  
  3./etc/ppp/pap-secrets
  
  說明:
  源文件:(同Modem)
  169 * 169
  
  4./root/dial
  
  說明:
  源文件:
  killall -9 pppd
  /usr/sbin/pppd -d /dev/ttyS0 115200 connect "/usr/sbin/chat -t 3 -V -v -f /etc/ppp/isdndial"
  
  & 7.4 小結
  ISDN在國內的應用越來越多,它比電話線撥號上網的帶寬增大了許多,中小型企業通過它共享上網非常合適。
  現在國內用在ISDN上網的設備有很多種,沒有任何廠商聲明支持Linux,但是Linux已經可以支持大多數ISDN設備。
  ISDN上網與我們常用的Modem撥號上網類似。在Linux下甚至可以把ISDN卡模擬成Modem設備,所不同的是ISDN可以使用同步PPP(synchronous PPP),而Modem撥號一般使用異步PPP(anonymous PPP)。對於這兩種撥號方式,郵局或ISP采用不同的接入設備。
  盡管ISDN可以模擬成Modem進行異步模式的撥號,但一般只是用來測試ISDN卡是否運行正常,真正在上網時通常要用同步PPP撥號模式。

Copyright © Linux教程網 All Rights Reserved