在优化的 IP 电话网络中,电话和 PC 的 IP 地址必须设置在不同的网段中。如果使用动态主机配置协议 (DHCP) 分配地址,则通常每个网段都要有一台 DHCP 服务器。但是,如果您的路由器能够在 IP 网络中进行 DHCP 中继,则可使用单个 DHCP 服务器来分配两个范围的地址。本文说明了将单个服务器同时用于语音和数据IP地址的方式及其原因。
注意:本文档中的信息不适用于完全交换网络或您没有支持路由的设备。在这些情况下,为电话和 PC 分配不同的 IP 地址只有两种做法:要么有带两块网络接口卡的 DHCP 服务器,要么有两台 DHCP 服务器。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
如果安装 IP 电话网络,则必须为不同网段中的电话和 PC 分配 IP 地址。这些地址分配要求每个网段都有一台 DHCP 服务器。但您只有一台 DHCP 服务器。
为了能够使用当前的 DHCP 服务器为两个 VLAN 分配地址,您的网络中必须有可以执行 VLAN 间路由的第 3 层 (L3) 设备。
本文档通过两个示例介绍如何使用一台 DHCP 服务器分配语音和数据两个 IP 地址。
现有一个使用 Cisco Catalyst 6000 或 Catalyst 3524-XL-PWR 建立的网络。其中,将 VLAN 10 配置为 PC 和服务器使用的数据 VLAN。在同一VLAN中,还有运行Windows 2000的DHCP服务器,该服务器提供10.10.10.20到10.10.10.200范围内的地址。DHCP服务器IP地址为10.10.10.2。
在此网络中添加IP电话,将IP电话插入Catalyst端口的后面(与PC相连)。
在此方案中,有一个带有 Multilayer Switch Feature Card (MSFC) 的 Cisco Catalyst 6000 作为支持路由的设备。
要允许 PC 和电话使用同一个 Catalyst 端口,需要使用新的语音 VLAN 110 配置 auxiliaryVLAN 命令,如下所示:
cat6k-access> (enable) set VLAN 110 name 11.1.1.0_voice cat6k-access> (enable) set VLAN 10 5/1-48 cat6k-access> (enable) set port auxiliaryVLAN 5/1-48 110
要允许数据VLAN 10中的当前DHCP服务器用于为电话分配IP地址,请执行以下步骤:
在 MSFC 上为每个 VLAN、数据和语音创建一个接口。
在 VLAN 中为每个接口配置一个有效地址。
在接口 VLAN 110 中,添加一个 ip helper-address 命令。
此命令允许将语音 VLAN 110上的DHCP广播信息包作为单播信息包,发送到数据VLAN 10中的DHCP服务器。
MSFC 中的配置应为:
cat6k-msfc(config)#interface vlan10 cat6k-msfc(config-if)#ip address 10.10.10.19 cat6k-msfc(config-if)#<description of data VLAN for PCs and where the DHCP server is located> cat6k-msfc(config)#interface vlan110 cat6k-msfc(config-if)#ip address 11.1.1.19 cat6k-msfc(config-if)#ip helper-address 10.10.10.2 cat6k-msfc(config-if)#<description VLAN for voice>
Cisco Catalyst 6000 的配置保持不变。
采用语音VLAN 110中的新的电话地址范围(11.1.1.1.X),配置DHCP服务器。
如果 DHCP 服务器没有与中继代理 IP 地址匹配的范围,则 DHCP 请求失败。您需要在该范围添加选项150,将TFTP服务器地址提供给电话。有关为电话配置 DHCP 服务器的分步说明,请参阅为 Cisco CallManager 配置 Windows 2000 DHCP 服务器。
在此方案中,有一台 Cisco Catalyst 3524-XL-PWR 和一台用作路由支持设备的外部路由器,每个 VLAN 配有一个接口。
要允许 PC 和电话使用同一个 Catalyst 端口,请使用新语音 VLAN 110 配置中继,如下所示:
interface FastEthernet0/13 description phone and PC switchport mode trunk switchport trunk encapsulation dot1q switchport voice vlan 110 switchport trunk native vlan 10
重复Catalyst上的所有端口配置,在这种配置中,将PC插入电话,您便连接上了某部电话。
要允许使用数据 VLAN 10 中的当前 DHCP 服务器为电话分配 IP 地址,请执行以下步骤:
将两个路由器接口连接到 Cisco Catalyst 3524-XL 上的两个端口,一个在 VLAN 10 中,另一个在 VLAN 110 中。
在路由器一端,在每个 VLAN 中分配一个有效地址。
注意:配置中继后,您还可以通过从Catalyst 3524-XL连接到路由器的单个端口实现此目标。
在连接到语音 VLAN 110 的路由器接口中发出 ip helper-address 命令。
这允许将接口上收到的DHCP广播信息包作为单播信息包,发送到数据VLAN 10中的DHCP服务器上。
路由器中的配置应如下所示:
router(config)#interface FastEthernet0/0 router(config-if)#ip address 10.10.10.19 255.255.255.0 router(config-if)#<description connected to catalyst port 0/10 data VLAN for PCs and DHCP server> router(config)#interface FastEthernet0/1 router(config-if)#IP address 11.1.1.19 255.255.255.0 router(config-if)#IP helper-address 10.10.10.2 router(config-if)#<description connected to catalyst port 0/11 voice VLAN>
Cisco Catalyst 3524-XL 中的配置应为:
router(config)interface FastEthernet0/10 router(config-if)#switchport access vlan 10 router(config-if)#<description port on data VLAN going to the router FE0/0> router(config)interface FastEthernet0/11 router(config-if)#switchport access vlan 110 router(config-if)#<description port on voice VLAN going to the router FE0/1>
采用语音VLAN 110中的新的电话地址范围(11.1.1.1.X)配置DHCP服务器。
如果 DHCP 服务器没有与中继代理 IP 地址匹配的范围,则 DHCP 请求失败。您需要在该范围添加选项150,将TFTP服务器地址提供给电话。有关为电话配置 DHCP 服务器的分步说明,请参阅为 Cisco CallManager 配置 Windows 2000 DHCP 服务器。
根据DHCP数据包的中继代理字段的使用,DHCP服务器能够为两个VLAN提供适当的地址范围。中继代理负责将通过电话发送的广播 DHCP 数据包转换成发送到 DHCP 服务器的单播数据包。该Agent还将从DHCP服务器发出的单播DHCP包转换成在电话网上发送的广播包。在此示例中,中继代理是用 ip helper-address 命令在 MSFC 上配置的 VLAN 110 接口。
当 DHCP 服务器在中继代理域中的当前 IP 地址收到 DHCP 发现消息时,它将使用该地址来匹配适当地址范围,并从中分配 IP 地址。在 RFC 3046 中可以看到此协议的详细信息。
在本例中交换的 DHCP 数据包如下所示:
蓝线显示发送到和从 IP 电话发送的 DHCP 数据包。如果DHCP服务器和电话在同一个以太网网络中,则只会出现这些信息包。
黑线表示中继代理从 DHCP 服务器输入/输出的 DHCP 单播数据包。
下表显示此示例中的数据包的详细信息。有关 DHCP 协议和字段的详细信息,请参阅 RFC 1541。
1 DHCP 发现 | 2 DHCP 发现 |
---|---|
IP Source Address = [0.0.0.0] IP Destination Address = [255.255.255.255] DHCP Client IP Address = [0.0.0.0] DHCP Relay Agent = [0.0.0.0] Client Hardware Address = 00070EEA5449 Message Type = 1 (DHCP Discover) Parameter Request List: ... 150= Unknown Option ... |
IP Source Address = [11.1.1.19] IP Destination Address =[10.10.10.2] DHCP Client IP Address = [0.0.0.0] DHCP Relay Agent = [11.1.1.19] Client Hardware Address = 00070EEA5449 Message Type = 1 (DHCP Discover) Parameter Request List: ... 150= Unknown Option ... |
4 DHCP 提供 | 3 DHCP 提供 |
IP Source Address = [10.10.10.2] IP Destination Address = [255.255.255.255] DHCP Client IP Address = [11.1.1.25] DHCP Relay Agent = [11.1.1.19] Client Hardware Address = 00070EEA5449 Message Type = 2 (DHCP Offer) .... Address Renewel Interval = 216000 (seconds) TFTF Server = "11.1.1.10" ... |
IP Source Address = [10.10.10.2] IP Destination Address = [11.1.1.19] DHCP Client IP Address = [11.1.1.25] DHCP Relay Agent = [11.1.1.19] Client Hardware Address = 00070EEA5449 Message Type = 2 (DHCP Offer) .... Address Renewel Interval = 216000 (seconds) TFTF Server = "11.1.1.10" ... |
5 DHCP 请求 | 6 DHCP 请求 |
IP Source Address = [0.0.0.0] IP Destination Address = [255.255.255.255] DHCP Client IP Address = [0.0.0.0] DHCP Relay Agent = [0.0.0.0] Client Hardware Address = 00070EEA5449 Message Type = 3 (DHCP Request) Request Specific IP Address = [11.1.1.25] Parameter Request List: ... 150= Unknown Option ... |
IP Source Address = [11.1.1.19] IP Destination Address = [10.10.10.2] DHCP Client IP Address = [0.0.0.0] DHCP Relay Agent = [11.1.1.19] Client Hardware Address = 00070EEA5449 Message Type = 3 (DHCP Request) Request Specific IP Address = [11.1.1.25] Parameter Request List: ... 150= Unknown Option ... |
8 DHCP 确认 | 7 DHCP 确认 |
IP Source Address = [10.10.10.2] IP Destination Address = [255.255.255.255] DHCP Client IP Address = [11.1.1.25] DHCP Relay Agent = [11.1.1.19] Client Hardware Address = 00070EEA5449 Message Type = 5 (DHCP Ack) .... Address Renewel Interval = 216000 (seconds) TFTF Server = "11.1.1.10" ... |
IP Source Address = [10.10.10.2] IP Destination Address = [11.1.1.19] DHCP Client IP Address = [11.1.1.25] DHCP Relay Agent = [11.1.1.19] Client Hardware Address = 00070EEA5449 Message Type = 5 (DHCP Ack) .... Address Renewel Interval = 216000 (seconds) TFTF Server = "11.1.1.10" ... |