2009/03/30

VoIP案例_烦尘子

很久都没有更新了,很是怀念。因为近期又是考试,又是关注51job的,很是没有多少时间让我不胡思乱想了,偶尔看到这篇VoIP的文章写得很好,但是可惜的是作者的博客已经关闭了,感谢烦尘子给我们网络众人奉献这么一篇文笔流畅浅简易懂的VoIP配置案例。
-----------------------------------------------------

某企业老板开明、有头脑,经营有方,从卖盒饭一步步发展到如今的在全国已有三家分公司,因此基在各方面都很仔细处处节俭,以节约企业成本。两个分公司和总部之间打电话都是使用传统的PSTN电话网络,每年的长话费用占公司很大一笔费用。
某天叫来负责管网络的小烦,说:你看XXX公司利用他们公司的企业网弄了个啥子IP电话,你看看咱们这个企业网能不能也利用利用!给咱们公司也节省些电话费!
拿着“圣旨”小烦仔细研究了起IP电话。

俗话说的IP电话就是VoIP,就是利用Internet/Intranet(IP)网络传递话带业务(包括话音/传真/话带数据等),即在分组交换网上通过(TCP/)IP协议实现传统的电话应用。
目前IP电话方案的设计有以下几种方式:普通语音网关接入方式,路由器接入方式,IP PHONE方式等。
1,普通语音网关接入方式是利用专用的语音网关设备连接语音程控交换机和广域网链路;
2,路由器接入方式是利用已有的路由器所具有的语音处理功能,实现传统模拟电话与IP网络的连接;
3,IP PHONE方式是使用软PBX,例如Cisco的Call Manager作为电话的管理中心,利用交换机连接IP电话,实现三网合一的连接模式。

在使用路由器布署IP电话的时候主要应用到以下几种类型语音卡:
§,FXS voice/fax接口卡。FXS的端口提供振铃电流,电压和拨号音。端口为标准的RJ11接头,用普通的电话线就可以直接接电话机。有一种说法通过电话线,FXS卡也可以接到标准模拟交换机的外线接口上(相当于电信局提供的一条外线)。还有一种说法是可以接PBX的中继接口上。
§, FXO voice/fax接口卡。FXO的端口相当于哑终端(电话机),本身无法提供振铃电流,电压和拨号音。端口也为标准的RJ11接口。它可以与PSTN的交换机相连,或者与PBX的标准接口(内线)相连。总之,它必须由对端提供振铃电流,电压和拨号音。
§, E/M voice/fax接口卡。E/M是一种交换机的接口标准。E/M卡主要用来与交换机上干线上的E/M口连接。
§, E1接口卡主要用来与交换机上的E1接口卡相连接,一路E1可以同时提供30路语音通话。

路由器的IOS软件需要是IP Plus特性的。
可以采用专门的AS5300 or AS5800语音接入网关,考虑到目前和以后企业IP电话的扩展可能性和最大通话连接数,决定还是利用原有设备增加语音模块的方案布署VoIP电话系统。

总部:Cisco3662:原有2块WIC-2T。增加NM-2V 2块、WIC-2FXO 4块
两分部:Cisco2621: 原有1块WIC-1T。增加NM-2V 1块、WIC-2FXS 1块

设计拓扑:

------------------------{PBX}------A]

fxo
(北京)1.1.1.1-----1.1.1.2 (上海)-- fxs -- B]
1.1.2.1


-----------------1.1.2.2 (深圳) -- fxs --C]


北京路由器配置:

interface FastEthernet0/0
ip address 10.10.0.1 255.255.255.0
!
interface Serial3/0
ip address 1.1.1.1 255.255.255.252
!
interface Serial3/1
ip address 1.1.2.1 255.255.255.252
!
voice-port 1/0/0    
voice-port 1/0/1
……
dial-peer voice 1 pots
destination-pattern 0
port 1/0/0
!
dial-peer voice 2 pots
destination-pattern 0
port 1/0/1
!
dial-peer voice 10 voip
destination-pattern 100
session target ipv4:1.1.1.2
!
dial-peer voice 20 voip
destination-pattern 200
session target ipv4:1.1.2.2
!
router ospf 100         
log-adjacency-changes
network 1.1.0.0 0.0.255.255 area 1 
network 10.10.0.0 0.0.255.255 area 1

上海配置:    

interface FastEthernet0/0
ip address 10.10.1.1 255.255.255.0
!
interface Serial0/0
ip address 1.1.1.2 255.255.255.252
!
voice-port 1/0/0
voice-port 1/0/1
!
dial-peer voice 1 pots
destination-pattern 100
port 1/0/0
!
dial-peer voice 2 pots
destination-pattern 101
port 1/0/1
!
dial-peer voice 3 voip
destination-pattern 0
session target ipv4:1.1.1.1
!
dial-peer voice 4 voip
destination-pattern 2..
session target ipv4:1.1.2.2
!
router ospf 100
network 1.1.0.0 0.0.255.255 area 1
network 10.10.0.0 0.0.255.255 area 1
!

深圳配置
interface FastEthernet0/0
ip address 10.10.2.1 255.255.255.0
!
interface Serial0/0
ip address 1.1.2.2 255.255.255.252
!
voice-port 1/0/0
voice-port 1/0/1
!
dial-peer voice 1 pots
destination-pattern 200
port 1/0/0
!
dial-peer voice 2 pots
destination-pattern 201
port 1/0/1
!
dial-peer voice 3 voip
destination-pattern 0
session target ipv4:1.1.1.1
!
dial-peer voice 4 voip
destination-pattern 1..
session target ipv4:1.1.1.2
!
router ospf 100
network 1.1.0.0 0.0.255.255 area 1
network 10.10.0.0 0.0.255.255 area 1
!

到此所有配置均配置完毕,在北京总部拿起电话A先拔FXO在PBX接口上的分机号888,出现提示音,然后拔上海的电话号100,此时上海的电话B响起。接起即可以通话了,听一听,音质还不错。
从B拔C,也可以通话,通话质量均还可以。
从B和C拔A也能拔通。

在VoIP系统中存在几个拔号的段,第一段是模拟电话到PBX的呼叫段,第二段PBX到路由器上fxo模块的呼叫段,第三段为路由器到到路由器,第四段为路由器上fxs到电话的呼叫段。

老板很高兴狠狠的表杨了一屯小烦,可是过了一段时间老板把小烦叫来狠狠的训了一屯,说你弄的啥VOIP电话啊!我中午想睡一会儿,有人打电话给我,我没有接,电话却一直响啊响的不停,我拿起一听也没人说话。烦死人了,你快快看看咋回事儿!!!
小烦急忙让分部的人用B电话打A电话测试 ,果然一直响,咋回事儿呢!!!查看配置,没错啊!是啥问题呢!!

从A打B,不出现这个问题;从B打C或者从C打B也不出现这个问题,那问题应该出在中心路由器或者PBX这块儿,换了一台PBX试试,问题依旧。
PBX排除了,那问题可能在中心路由器上,可能是FXO接口这块儿。于是上cisco.com查FXO相关的错误,查到<>手册。试试!!

在中心路由器上增加了如下配置:
voice-port 1/0/0              
cptone CN                     
timeouts call-disconnect 0            
timeouts ringing 5                 
timeouts wait-release 1
这些命令加进去后,问题解决!!
小烦长长的松了口气,终于可以休息下了!

整理下配置资料:
dial-peer voice 1 pots ******建立拔号对等体1
destination-pattern 0 ******设置号码为0, 有多个号码在0后面加相应的点号即可,如0…
port 1/0/0 ******和语音端口绑定
dial-peer voice 10 voip ******建立VoIP拔号对等体10
destination-pattern 100 ******设置拔号号码为100
session target ipv4:1.1.1.2 ******设置VoIP对体等对应的IP网关
voice-port 1/0/0          ******进入语音接口1/0/0配置模式
cptone CN            ******设置区域         
timeouts call-disconnect 0 ******设置呼叫无应答挂断时间    
timeouts ringing 5   ******设置振铃时间
timeouts wait-release 1 ******设置等待释放时间

*****************over*********************

2009/03/11

BGP/IBGP/EBGP/IGP各得其所

先看一道CCIP-BGP的考题(引自Pass4sure 642-661):

Q: Please Match proper relationship between the correct description and the EBGP,IBGP or IGP category.

1. has the lowest default admin distance
2. has the highest default admin distance
3. not affected by route flaps external to the AS
4. propagates the internal subnets and BGP next-hop
5. propagates routing updates to an external AS
6. propagates the external routes within the AS


I. EBGP
II. IBGP
III. IGP

A. I-(1,5);II-(2,6);III-(3,4)
B. I-(1,3);II-(2,5);III-(4,6)
C. I-(2,5);II-(1,6);III-(3,4)
D. I-(3,5);II-(1,6);III-(2,4)


文章转自:http://kachy.net/?p=457


Answer: alpha

这道题主要就是考察路由协议之间的比较,先简单做个说明。

路由选择协议根据运行区域范围可以分为以下两大类:
1、IGP(内部网关协议):用于在自治系统内部交换路由信息。RIP、IGRP、EIGRP、OSPF都属于IGP。
2、EGP(外部网关协议):用于在不同自治系统之间交换路由信息。BGP(边界网关协议)就属于EGP。


此题重点在BGP知识点上面。

为什么要有IBGP

我们知道,在自治系统内部使用IGP路由协议,而在不同自治系统之间使用BGP路由协议(严格来讲,BGP不是路由协议).BGP产生的原因是为了在不同自治系统(AS)之间进行路由转发,而其中又提出了EBGP和IBGP两种,EBGP用于在不同自治系统之间,但IBGP,书上说它是应用于自治系统内部,可是在自治系统内部我们是使用IGP.这就和”BGP是应用于不同自治系统之间”产生矛盾,那么IBGP存在的意义,比如说某种情况,需要使用到IBGP,它在网络中起到的作用.EBGP与 IBGP之间的区别,EBGP在网络中又起什么作用?

为什么要有IBGP,原因如下:

  1、IGP的能力限制,IGP处理路由的条目有限,而目前internet上核心路由器的路由表已经超过10万条。假如没有IBGP,那么这些路由只能采取重分发的方式直接导入到IGP中,这样做的缺点很明显:第一,IGP协议的作者并没有打算让IGP来处理如此大量的路由,IGP本身也无法处理这样大的路由数量;第二,如果非要让IGP来处理,那么根据IGP的处理原则,假如这10万路由中任何一条路由发生变化,那么运行IGP的路由器就不得不重新计算路由,更为严重的是,假如其中某一条路由出现路由抖动的情况,例如端口反复UP/DOWN,这会导致所有的IGP路由器每时每刻都不得不把10万条路由重新计算一遍,这种计算量对于绝大多数路由器来说是无法负担的。另外对于运行RIPv1的路由器来说,10万条路由的定期更新,这根本就是无法接受的事情,除去带宽占用率不谈,我想,也只有少量高端的GSR以及TSR能够有这样的性能吧。很显然,我们不可能让网络中所有的路由器都是GSR和TSR,如果真是这样,那么Cisco、Juniper以及华为等厂家就要偷笑了。例如:AS100—-AS200—AS300,假定AS100/200/300各有100台路由器,而AS100中有 1W条路由要传递要AS300中,而AS200的路由器不需要学习AS100的路由。如果没有IBGP的话,那么这1W条路由都必须被重分发到AS200 的IGP中去,这样的话,相当于AS200中所有的100台路由器都增加了1W条路由。如果利用IBGP的话,那么AS200中只有运行IBGP的路由器会学习到这1W条路由,其它运行IGP的路由器都不会学习到这1W条路由。并且由于BGP的路由控制能力大大强于IGP的路由控制能力,因此运行IBGP 的路由器比运行IGP的路由器能更好的对这1W条路由做一些路由策略的处理,从而保证整个AS内部的路由器学习到的路由数目可以控制在可接受的范围之内。

  2、路由环路的问题。BGP是靠路由属性来防止路由环路的,例如AS_PATH属性,假如说没有IBGP协议,那么当所有BGP路由重分发到IGP中后,路由属性必然丢失,这就破坏了BGP的路由环路防止机制,产生了路由环路的隐患。

  那么引申一下,既然IBGP能够传送所有的路由前缀,为什么还需要IGP?
  1、IBGP之间是TCP连接,也就意味着IBGP邻居采用的是逻辑连接的方式,两个IBGP连接不一定存在实际的物理链路。所以需要有IGP来提供路由,以完成BGP路由的递归查找。
  2、BGP协议本身实际上并不发现路由,BGP将路由发现的工作全部移交给了IGP协议,它本身着重于路由的控制。因此,如果没有IGP,那么BGP也就毫无用处了。

  EBGP与IBGP的区别:
  1、路由环路的避免措施不一样,IBGP强制规定ibgp speaker不允许把从一个ibgp邻居学习到的前缀传递给其它ibgp邻居,因此IBGP要求逻辑全连接。EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现的。
  2、使用的BGP属性不同,例如IBGP可以传递LOCAL_PREF(本地优先属性),而EBGP不行。
  3、IBGP有同步的要求,而EBGP没有同步的要求
  4、IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。

  EBGP在网络中起什么作用?这个题目太大了,EBGP我认为是在不同的AS之间提供路由的传递以及路由的控制,了解了BGP属性的用法,也就了解了EBGP的作用。

转:CISCO Router&Switch 操作小技巧

CISCO Router&Switch 操作小技巧

發佈網址:http://WWW.ITPro.tw
作者:呂堃楠 Email:Mark@mail.itpro.tw MSN : Mark.ITPro@hotmail.com

前言:
這篇文章主要要表達就是CISCO Router和CISCO Switch 於指令操作的小技巧,方便網管朋友在管理CISCO設備的時候可以更容易由螢幕輸出的訊息中找到需要的關鍵資訊。
再看這篇文章的同時建議使用者可以順便複習一下CCNA課程中基本的指令。
若您要練習本篇所提及的技巧建議手上要有一顆CISCO Router(IOS 12.x)或是Dynamips模擬器。
在本文中堃哥將文章分成兩個部份:
第一部份是(一)基本命令講解。
第二部份是(二)技巧練習。

(一)基本命令講解

1.1 Show Running-configure Current operating configuration 使用sh run顯示當前設定檔

輸出範例如下:
ITPro-Labs#sh run
Building configuration…
Current configuration : 2153 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
hostname ITPro-Labs
boot-start-marker
boot-end-marker
enable secret 5 $1$9hCY$O3nRYLpuYDXPaSLh95uTA.
aaa new-model
ip cef
ip sla monitor 10
type tcpConnect dest-ipaddr 1.1.1.2 dest-port 23 source-ipaddr 1.1.1.1 source-port 22392
frequency 3600
ip sla monitor schedule 10 life forever start-time now
frame-relay de-list 1 protocol ip
frame-relay de-list 1 protocol ip list 101
…(後省略)
上面顯示目前Router的設定,倘若要由眾多設定資訊中找到特定的關鍵可以使用下面參數

1.1.1 Show Running-configure 加上參數 include [關鍵字]

這句話的意思是有眾多顯示畫面的設定檔中找到我們輸入”特定”的關鍵字,例如我們要於上面的設定檔中找到
Router啟用sla則我們可以輸入 sh run i sla 顯示結果如下
ip sla monitor 10
ip sla monitor schedule 10 life forever start-time now
系統會將Running-Configure中關於sla的關鍵字給找出來。
◎有使用Linux或是UnIX的朋友對上述的命令應該不陌生其實這就是管線的概念將螢幕輸出的資訊透過 管線然後使用 include其實也就是 unix 中的 grep 找到特定的資訊。

1.1.2 Show Running-configure 加上參數 begin [關鍵字]

這句話的意思是找尋設定檔中將我們輸入的關鍵字”之後”的資訊都顯示出來,
簡單的說如果我們要找sla之後的訊息我們可以輸入sh run b sla 顯示結果如下
ip sla monitor 10 —-sla之後均顯示出來
type tcpConnect dest-ipaddr 1.1.1.2 dest-port 23 source-ipaddr 1.1.1.1 source-port
22392 frequency 3600
ip sla monitor schedule 10 life forever start-time now
frame-relay de-list 1 protocol ip
frame-relay de-list 1 protocol ip list 101
比對前面的輸出範例會發現 sla關鍵字之前的訊息都消失了,系統只會顯示sla之後的訊息,這是一個相當有用的命令,例如我們要找尋Running-Configure中關於eigrp的資訊我們可以輸入,Sh run b router eigrp 如此系統就只會顯示出eigrp之後的命令,可以很方便的找到關於EIGRP的訊息。

1.1.3 Show Running-configure 加上參數 exclude [關鍵字]

這句話的意思是找尋設定檔中將我們輸入的關鍵字以外的資訊都顯示出來,
簡單的說如果我們“排除”sla所有的訊息我們可以輸入sh run e sla 顯示結果如下
Building configuration…
Current configuration : 2153 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
hostname ITPro-Labs
boot-start-marker
boot-end-marker
enable secret 5 $1$9hCY$O3nRYLpuYDXPaSLh95uTA.
aaa new-model
ip cef
type tcpConnect dest-ipaddr 1.1.1.2 dest-port 23 source-ipaddr 1.1.1.1 source-port 22392
frame-relay de-list 1 protocol ip
frame-relay de-list 1 protocol ip
由上述範例輸出我們可以清楚看見關於 sla的命令已經被排除了。

1.4 Show Running-configure 加上參數 /[關鍵字] 符號

這句話的意思是找尋設定檔中將我們輸入的關鍵字之後的資訊都顯示出來用法和 include類似差別在於當我們使用Show Running-configure在看設定檔時如果設定檔過長通常底下會出現 –More– 的訊息要我們進行換頁此時我們可以輸入 /[關鍵字]
直接由 Show Running-configure找到我們要的資訊十分的方便大家可以練習一下使用/[關鍵字]和include [關鍵字]兩者之間有什麼不同。

重點整理

使用 參數 include [關鍵字]
找尋螢幕中特定關鍵字
使用 參數 begin [關鍵字]
顯示螢幕中特定關鍵字之後的字串
使用 參數 exclude [關鍵字]
排除螢幕中特定關鍵字
使用 參數 /[關鍵字]
找尋螢幕中特定關鍵字

(二)技巧練習
熟悉上面技巧之後我們可以立刻將它用於我們實務環境中

Q2.1找出所有Router介面哪些介面是顯示 Down的 ??
A2.1我們可以輸入 ITPro-Labs#sh int i down
顯示如下:
FastEthernet0/1 is administratively down, line protocol is down
Serial1/0 is up, line protocol is down
Serial1/1 is up, line protocol is down
LMI enq sent 175, LMI stat recvd 0, LMI upd recvd 0, DTE LMI down
0 carrier transitions DCD=down DSR=down DTR=up RTS=up CTS=down
Serial1/2 is administratively down, line protocol is down
LMI enq sent 0, LMI stat recvd 0, LMI upd recvd 0, DTE LMI down
0 carrier transitions DCD=down DSR=down DTR=up RTS=up CTS=down
Serial1/3 is administratively down, line protocol is down
1 carrier transitions DCD=down DSR=down DTR=up RTS=up CTS=down
可以將所有介面關於Down的資訊全部找出來。

Q2.2利用 sh ip route找出所以關於 5.5.5.0 的路由 ??
A2.2我們可以輸入 sh ip route i 5.5.5.0
顯示如下:
ITPro-Labs#sh ip route i 5.5.5.0
C 5.5.5.0 is directly connected, Loopback5
如此則可以再上萬條路由中輕鬆找到我們想知道的路由資訊。

結語!
上述簡單的小技巧可方便於眾多資訊中找到我們需要的,熟悉上述資訊對於我們日常Debug 網路有很大的幫助,希望上述資訊對正在學習CISCO相關知識的使用者有幫助,若對文章有任何問題請寫Email告訴我,謝謝。

2009/03/10

一棵開花的樹

一棵開花的樹
---席慕蓉


如何讓你遇見我

在我最美麗的時刻 為這
我已在佛前 求了五百年
求祂讓我們結一段塵緣

佛於是把我化做一棵樹
長在你必經的路旁

陽光下慎重地開滿了花
朵朵都是我前世的盼望

當你走近 請你細聽
那顫抖的葉是我等待的熱情

而當你終於無視地走過
在你身後落了一地的
朋友啊 那不是花瓣

是我凋零的心

无线网络速率究竟有多快

简介:从802.11的2M发展到802.11g+的108M,无线设备的速度近几年来有了巨大的发展,其已和普通家用10/100Mbps网络差不多。但大家知道,无论是802.11b的11Mbps还是802.11g的54Mbps、802.11g+的108Mbps,其都是理论上 ...
--------------------------------------------------------------

从802.11的2M发展到802.11g+的108M,无线设备的速度近几年来有了巨大的发展,其已和普通家用10/100Mbps网络差不多。但大家知道,无论是802.11b的11Mbps还是802.11g的54Mbps、802.11g+的108Mbps,其都是理论上的速度,实际传输速度肯定达不到此,在普通环境下如隔一堵砖墙或同一间屋里其实际速度到底有多快呢?换言之也就是说无线网在无任何无线干扰的情况下其测试速度一般能达到多快呢?下面我们分别来了解一下。

802.11b
802.11b理论最大速度11Mbps,其WLAN传输速度一般在3-6Mbps之间,换算成MB(1MB=8Mb)也就是每秒传输速度在400KB-800KB左右。取其中间值600KB,这样的速度要传输100MB的文件需要2分半钟到3分钟左右(不同于有线网,因为无线网传输存在干扰不确定性,所以时间不可能很精确)。
简单换算一下,其要传输1GB的文件,则需要至少25分钟以上。而对于那些动辙数GB以上的游戏或高清视频文件或数十GB的硬盘WLAN拷贝来说,除非你有很好的耐心或不急用,那么802.11b如同10M的有线网络一样都不适用于局域网大容量文件的拷贝。

802.11g
由于802.11a非市场消费主流,其实际传输速度可参考802.11g标准。
802.11g理论最大速度54Mbps,其WLAN传输速度一般在16-30Mbps之间,换算成MB也就是每秒传输速度在2MB-4MB左右。取其中间值3MB,这样的速度要传输100MB的文件需要35秒左右,要传输1GB的文件,则需要至少4分钟以上。这样速度对于一般局域网应用已能应付。

802.11g+
802.11g+理论最大速度108Mbps,其WLAN传输速度一般在24-50Mbps之间,换算成MB也就是每秒传输速度在3MB-6MB左右。取其中间值4.5MB,这样的速度要传输100MB的文件需要25秒左右,要传输1GB的文件,则需要至少2分半钟以上。这样速度已接近100Mbps有线网络速度,应付多数WLAN应用绰绰有余。

从上面的介绍中我们可以看出平时就使用无线LAN的用户实际上并未感觉到有这么快的速度。从基本常识上来讲,“无线LAN的实际传输速度是最大传输速度的一半以下”。

当然,以上只是我们在较理想状态测得的速度,无线传输的真实速度受距离、墙壁等各种障碍物;其它无线信号如手机、微波炉等的干扰;加密与不加密等影响都较大。当远离接入点时,信号会越来越弱,速度也会下降。另外,当其它人加入到网络中时,带宽就被共享了

下面我们再来看看无线上网卡的实际速度:
无线上网卡注意分为GPRS和CDMA两种。
GPRS的实际速度:基本和56Kbps的Modem速度持平。
CDMA的实际速度:达到153.6Kbps,是家里电话线上网的四倍左右。
无线上网卡也是通过无线传输的,所以其速度也会受到墙壁等各种障碍物;其它无线信号如手机、微波炉等的干扰。

总 结:
我们看到的宣称的无线设备都是理论的最大值,但是在实际应用中还是达不到这个标准的,一般都要打个折扣,也就是说实际速度只有本身宣称速度的一半。而且还是要在理想的状态下,如果受到影响还要有所损失,具体的速度还是要看实际应用的环境来定的。
---------------------------------------------------------------
另,无线在BT下载应用上是很不适宜的,因为现在的无线wireless操作模式仍是半双工的。