具体实施方式
请参阅图1,所示为本发明电缆调制解调器10一实施方式的应用环境图。电缆调制解调器10启动后需要先通过头端40从动态主机配置协议(DynamicHost Configuration Protocol,以下简称DHCP)服务器50获取IP地址,并依据获取的IP地址完成注册,此后,终端设备20才能通过电缆调制解调器10接入网络。在本实施方式中,头端40可以为电缆调制解调器头端系统(CableModem Terminal System,CMTS)或局端路由器等局端网络接入设备,终端设备20可以为电脑、IP电话等用户终端。
在本实施方式中,电缆调制解调器10至少提供两种运行模式,一种采用分组电缆标准(Packet Cable,以下简称PC)1.X标准,一种采用PC2.0标准,其中PC1.X包括PC1.0与PC1.5。需要注意的是,电缆调制解调器10并不仅限于上述两种运行模式,而是可以包括所有的分组电缆标准,在此以PC1.X或PC2.0为例来对本发明的实施方式进行详细说明。
电缆调制解调器10中设定了默认分组电缆标准,可能是PC1.X,也可能是PC2.0。运营商在局端为电缆调制解调器10设定了其可用的分组电缆标准,如PC1.X或PC2.0。如果电缆调制解调器10的默认分组电缆标准与运营商设定的分组电缆标准一致,则电缆调制解调器10会成功完成注册,但如果两者不一致,则会导致电缆调制解调器10获取不到IP地址,不能顺利完成注册。本实施方式所提供的电缆调制解调器10能自动根据运营商设定的分组电缆标准来选择分组电缆标准来使用,从而顺利完成注册。
在本实施方式中,DHCP服务器50包括多个与多种分组电缆标准对应的DHCP服务器,如PC1.X的DHCP服务器52、PC2.0的DHCP服务器54。此外,DHCP服务器50还包括终端的DHCP服务器56。其中,PC1.X的DHCP服务器52是指支持PC1.X标准的DHCP服务器,所有运营商指定的采用PC1.X标准通信的电缆调制解调器都由PC1.X的DHCP服务器52负责。PC2.0的DHCP服务器54是指支持PC2.0标准的DHCP服务器,所有运营商指定的采用PC2.0标准通信的电缆调制解调器都由PC2.0的DHCP服务器54负责。终端的DHCP服务器56是指为终端设备20提供DHCP服务的DHCP服务器,所有通过电缆调制解调器10接入网络30的终端设备的DHCP服务都由终端的DHCP服务器56负责。
请参阅图2,所示为图1中的电缆调制解调器10一实施方式的结构图。在本实施方式中,电缆调制解调器10包括处理器12、存储媒介14、收发模块100、判断模块102、更换模块104及注册模块106。通过收发模块100、判断模块102及更换模块104,电缆调制解调器10能自动根据运营商设定的分组电缆标准来更换分组电缆标准,从而使得电缆调制解调器10支持多种分组电缆标准。之后,电缆调制解调器10再通过注册模块106完成注册。处理器12执行存储在存储媒介14中的收发模块100、判断模块102、更换模块104及注册模块106以实现其各自的功能。上述模块的具体功能的详细描述请参阅下面对图3的描述。
请参阅图3,所示为本发明支持多种分组电缆标准的方法一实施方式的流程图。本方法用于图1与图2中的电缆调制解调器10中,并通过图2所示的功能模块完成。
在步骤S300,收发模块100使用多种分组电缆标准中的一种来广播DHCPDiscover封包至PC1.X的DHCP服务器52、PC2.0的DHCP服务器54及终端的DHCP服务器56。在步骤S302,收发模块100从PC1.X的DHCP服务器52、PC2.0的DHCP服务器54及终端的DHCP服务器56中的一个接收DHCPOffer封包。在步骤S304,判断模块102判断收发模块100接收到的DHCP Offer封包是否符合广播DHCP Discover封包所使用的分组电缆标准。
此处,DHCP Offer封包符合广播DHCP Discover封包所使用的分组电缆标准是指DHCP Offer封包包括配置文件与Option122,且配置文件采用的分组电缆标准与DHCP Discover一致。其中,Option122是DHCP中规定的DHCP封包中的一个特殊字段,用于PC1.X的DHCP服务器52、PC2.0的DHCP服务器54向电缆调制解调器10发送资料。在此,DHCP Offer封包包括配置文件与Option122是指可以从DHCP Offer封包中读取到这两个字段的值。
在本实施方式中,电缆调制解调器10收到的DHCP Offer一定要包括采用电缆调制解调器10的默认分组电缆标准的配置文件与Option122。但是,如果电缆调制解调器10的默认分组电缆标准与运营商设置的分组电缆标准不一致,终端的DHCP服务器56发送过来的DHCP Offer中就会没有该配置文件与Option122。那么,判断模块102就会判断出收发模块100接收到的DHCPOffer封包不符合广播DHCP Discover封包所使用的分组电缆标准。
如果判断模块102判断出收发模块100接收到不符合广播DHCP Discover封包所使用的分组电缆标准的DHCP Offer封包,则在步骤S306,更换模块104更换电缆调制解调器10所使用的分组电缆标准,以使得电缆调制解调器10能够与相应的DHCP服务器进行通信。更换模块104将电缆调制解调器10切换到另一种运行模式,以使用另一种分组电缆标准。这样,在电缆调制解调器10自身的分组电缆标准与运营商设置的分组电缆标准不一致时,经过一次或多次更换,更换模块104自然就可以将自身的分组电缆标准更换为与运营商设置的分组电缆标准一致,从而使得多种分组电缆标准能共存。
在步骤S308,收发模块100使用更换后的分组电缆标准来广播DHCPDiscover封包至PC1.X的DHCP服务器52、PC2.0的DHCP服务器54及终端的DHCP服务器56。在步骤S302,收发模块100再次从PC1.X的DHCP服务器52、PC2.0的DHCP服务器54及终端的DHCP服务器56中的一个接收DHCP Offer封包。在步骤S304,判断模块102判断收发模块100再次接收到的DHCP Offer封包是否符合广播DHCP Discover封包所使用的分组电缆标准。电缆调制解调器10循环执行步骤S306、S308、S302、S304,以获得符合广播DHCP Discover封包所使用的分组电缆标准的DHCP Offer封包。
如果判断模块102判断出收发模块100接收到符合广播DHCP Discover封包所使用的分组电缆标准的DHCP Offer封包,则在步骤S310,收发模块102广播DHCP Request到PC1.X的DHCP服务器52、PC2.0的DHCP服务器54及终端的DHCP服务器56,以确认符合广播DHCP Discover封包所使用的分组电缆标准的DHCP Offer封包中分配的IP地址是否已被占用。此时,发送符合广播DHCP Discover封包所使用的分组电缆标准的DHCP Offer封包的PC1.X的DHCP服务器52或PC2.0的DHCP服务器54就会发送出DHCPAck封包。在步骤S312,收发模块102从广播DHCP Discover封包所使用的分组电缆标准对应的DHCP服务器52或PC2.0的DHCP服务器54接收DHCPAck封包,并根据接收到的DHCP Ack封包完成注册。
需要说明的是,上述DHCP Discover封包、DHCP Offer封包、DHCP Request封包及DHCP Ack封包都是普通DHCP服务过程中常见的封包,符合DHCP协议,所以在此不做赘述。
为了更好的说明本发明的电缆调制解调器10及其支持多种分组电缆标准的方法,在此给出图4与图5所示的两个具体实施例。
图4为图3所示的支持多种分组电缆标准的方法一实施例的示意图。在本实施方式中,运营商为电缆调制解调器10设置的分组电缆标准为PC1.X,即运营商让PC1.X的DHCP服务器52负责电缆调制解调器10的DHCP服务。电缆调制解调器10默认使用的分组电缆标准为PC2.0。
首先,电缆调制解调器10广播PC2.0的DHCP Discover封包给DHCP服务器50,以请求DHCP服务器50分配一个IP地址给电缆调制解调器10。这时,PC1.X的DHCP服务器52、PC2.0的DHCP服务器54、终端的DHCP服务器56都会收到电缆调制解调器10的DHCP Discover封包。
因为DHCP Discover封包所采用的标准是PC2.0,所以PC1.X的DHCP服务器52不会发送DHCP Offer封包给电缆调制解调器10。同时,因为运营商设置负责电缆调制解调器10的DHCP服务的是PC1.X的DHCP服务器52,所以PC2.0的DHCP服务器54也不会发送DHCP Offer封包给电缆调制解调器10。也就是说,此时只有终端的DHCP服务器56会发送一个DHCP Offer封包给电缆调制解调器10。
然后,电缆调制解调器10收到来自于终端的DHCP服务器56的DHCPOffer封包。这样,电缆调制解调器10判断出来自于终端的DHCP服务器56的DHCP Offer封包不符合广播DHCP Discover封包所使用的分组电缆标准,并不是自己需要的DHCP Offer封包。电缆调制解调器10将所使用的分组电缆标准从PC2.0更换为PC1.X,并广播PC1.X的DHCP Discover封包给PC1.X的DHCP服务器52、PC2.0的DHCP服务器54、终端的DHCP服务器56。此时,PC1.X的DHCP服务器52发送一个DHCP Offer封包给电缆调制解调器10。
这时,电缆调制解调器10就会收到来自于PC1.X的DHCP服务器52的DHCP Offer封包。电缆调制解调器10就会判断出来自于PC1.X的DHCP服务器52的DHCP Offer封包符合广播DHCP Discover封包所使用的分组电缆标准,就是自己需要的DHCP Offer封包。然后,电缆调制解调器10就会广播DHCP Request到PC1.X的DHCP服务器52、PC2.0的DHCP服务器54、终端的DHCP服务器5,并从PC1.X的DHCP服务器52接收DHCP Ack封包完成注册。
图5为图3所示的支持多种分组电缆标准的方法另一实施例的示意图。在本实施方式中,运营商为电缆调制解调器10设置的分组电缆标准为PC2.0,即运营商让PC2.0的DHCP服务器54负责电缆调制解调器10的DHCP服务。电缆调制解调器10默认使用的分组电缆标准为PC1.X。
首先,电缆调制解调器10广播PC1.X的DHCP Discover封包给DHCP服务器50,以请求DHCP服务器50分配一个IP地址给电缆调制解调器10。这时,PC1.X的DHCP服务器52、PC2.0的DHCP服务器54、终端的DHCP服务器56都会收到电缆调制解调器10的DHCP Discover封包。同样,此时也只有终端的DHCP服务器56会发送一个DHCP Offer封包给电缆调制解调器10。
然后,电缆调制解调器10收到来自于终端的DHCP服务器56的DHCPOffer封包。这样,电缆调制解调器10判断出来自于终端的DHCP服务器56的DHCP Offer封包不符合广播DHCP Discover封包所使用的分组电缆标准,并不是自己需要的DHCP Offer封包。电缆调制解调器10将所使用的分组电缆标准从PC1.X更换为PC2.0,并广播PC2.0的DHCP Discover封包给PC1.X的DHCP服务器52、PC2.0的DHCP服务器54、终端的DHCP服务器56。PC2.0的DHCP服务器54就会发送一个DHCP Offer封包给电缆调制解调器10。
这时,电缆调制解调器10就会收到来自于PC2.0的DHCP服务器54的DHCP Offer封包。电缆调制解调器10就会判断出来自于PC2.0的DHCP服务器54的DHCP Offer封包符合广播DHCP Discover封包所使用的分组电缆标准,就是自己需要的DHCP Offer封包。然后,电缆调制解调器10就会广播DHCP Request到PC1.X的DHCP服务器52、PC2.0的DHCP服务器54、终端的DHCP服务器56,并从PC2.0的DHCP服务器54接收DHCP Ack封包完成注册。
本发明的电缆调制解调器10通过判断模块102判断收发模块100收到的DHCP Offer是否符合广播DHCP Discover封包所使用的分组电缆标准来判断电缆调制解调器10的默认分组电缆标准与运营商设置的分组电缆标准是否保持一致,从而根据判断结果来选择PC1.X或PC2.0作为电缆调制解调器10的分组电缆标准,使得电缆调制解调器10能支持多种分组电缆标准,有效提升电缆调制解调器10的适用范围。