发明内容
本发明要解决的问题是:提供一种能够同时连接IPv4协议和IPv6协议两种网络环境的用户终端技术。
为了解决上述问题,本发明的一个实施例提供了一种用户终端的信息接收方法,包括:
当用户终端接收到数据包时,在该数据包的链路层包头中查找虚拟局域网标记;
根据查找到的所述虚拟局域网标记判断所述数据包的IP协议类型;
根据判断出的所述IP协议类型,调用预先装载于所述用户终端中的IPv4协议栈或IPv6协议栈对所述数据包进行处理。
为了解决上述问题,本发明的另一个实施例提供了一种用户终端的信息发送方法,包括:
用户终端根据要发送的数据包的IP协议类型,在该数据包的链路层包头中添加相应的虚拟局域网标记,并发送给接入网设备;
所述接入网设备根据所述数据包的虚拟局域网标记,将所述数据包发送给IPv4业务网络或IPv6业务网络。
为了解决上述问题,本发明的又一个实施例提供了一种用户终端,包括:
第一模块,用于装载IPv4协议栈和IPv6协议栈;
第二模块,用于在接收到的数据包的链路层包头中查找虚拟局域网标记;
第三模块,用于根据由第二模块查找到的虚拟局域网标记判断所述数据包的IP协议类型发送给第四模块;
第四模块,用于根据接收到的所述IP协议类型,调用装载于第一模块中的IPv4协议栈或IPv6协议栈对所述数据包进行处理。
通过本发明,使用户终端能够支持IPv4/IPv6双协议栈,从而能够同时和两种网络环境下的业务系统如互动多媒体业务系统相连,使分别位于IPv4网络和IPv6网络的业务系统均能够为用户提供服务,有利于推动由IPv4网络环境向IPv6网络环境的顺利过渡。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
具体实施方式
本发明所述用户终端的信息接收方法实施例
本实施例提供了一种支持IPv4/IPv6双协议栈的用户终端的信息接收方法,如图1所示,包括:
步骤100,当用户终端接收到数据包时,在该数据包的链路层包头中查找虚拟局域网标记(以下简称:VLAN标记)。若查找成功,则执行步骤110,否则执行步骤120。
其中,虚拟局域网(Virtual Local Area Network,以下简称:VLAN)是一种将局域网内的设备逻辑地而不是物理地划分成网段,从而实现虚拟工作组的一种网络技术。其主要的工作原理是:当VLAN交换机从工作站接收到数据包后,对数据包的部分内容进行检查,并与VLAN配置数据库中的内容进行比较,然后确定数据包去向。如果数据包要发往一个VLAN设备,则给这个数据包加上VLAN标记,具体地,可以依照现有的802.1Q协议添加VLAN标记,用以区分不同的局域网,再根据VLAN标记转发到相应的目的地;如果数据包发往非VLAN设备,则VLAN交换机发送不带VLAN标记的数据包。由于,VLAN通常是在数据链路层上实现网段的划分,因此,VLAN标记也通常出现在链路层包头中。
步骤110,根据查找到的VLAN标记判断接收到的数据包的IP协议类型。其中,IP协议类型主要是指该数据包采用的是IPv4协议或IPv6协议。
具体地,可以首先根据查找到的VLAN标记判断发送该数据包的VLAN的IP协议类型,即判断该VLAN采用的是IPv4协议还是IPv6协议;然后再根据判断出的VLAN的IP协议类型判断得到该数据包的IP协议类型。这是因为,在一个VLAN中传输的数据包通常具有与该VLAN相同的IP协议类型。
另外,在对数据包的协议类型进行判断之前,若目标地址是用域名表示的域名地址,则可以先通过域名系统(简称:DNS)服务器得到相应的IPv4或IPv6地址,然后再进行判断。
步骤120,如果在数据包的链路层包头中并不包含VLAN标记,则对接收到的数据包进行链路层解析,得到数据包的链路层数据段。
其中,根据现有的互联网通信协议技术,数据包在进行链路层解析之前包括链路层包头和链路层数据段。链路层数据段中包括IP层包头和IP层数据段。
步骤121,对上述得到的链路层数据段进行拆包,得到数据包的IP层包头。
步骤122,根据数据包的IP层包头中的IP协议版本号判断该数据包的IP协议类型。其中,IP协议版本号是IP层包头中的一个字段,表明该数据包采用的是IPv4协议或是IPv6协议。
步骤130,根据判断出的IP协议类型,调用预先装载于用户终端中的IPV4协议栈或IPv6协议栈对数据包进行处理。
具体地,可以通过套接字应用程序接口(Socket Application ProgramInterface,简称:Socket API)调用预先装载于用户终端中的通用的TCP/UDP协议用于实现网络通信。另外,还可以通过栈管理器调用如动态主机配置协议(简称:DHCP)v4/v6、Internet组管理协议v2/多点传输听众发现协议v6(简称:IGMPv2/MLDv6)、实时流协议(简称:RTSP)v4/v6、网络时间协议(简称:NTP)v4/v6等协议栈以实现IP服务。其中,通过API的调用,可以为IPv4和IPv6下共存的互动多媒体业务提供终端设备支持。上述各个协议栈在用户终端的结构如图1A所示。
通过本实施例所述方法,使用户终端能够支持IPv4/IPv6双协议栈,从而能够同时和两种网络环境下的业务系统如互动多媒体业务系统相连。业务系统分别位于IPv4网络和IPv6网络,同时为用户提供服务,当用户使用IPv4或IPv6业务时,用户终端设备能够自动调用IPv4或IPv6协议栈,实现相关功能。另外,本实施例还可以应用于作为运营商提供IPv4和IPv6业务的用户终端设备,以实现其业务,如互动多媒体业务。从而有利于由IPv4网络环境向IPv6网络环境的顺利过渡。
本发明所述用户终端的信息发送方法实施例
本实施例提供了一种支持IPv4/IPv6双协议栈的用户终端的信息发送方法,如图2所示,包括:
步骤201,用户终端根据要发送的数据包的IP协议类型,在该数据包的链路层包头中添加相应的VLAN标记,并发送给接入网设备。具体地,发送给接入网设备中的接入网入口设备。其中,用户终端可以为机顶盒。
步骤202,接入网设备中的接入网入口设备将数据包中的VLAN标记映射为相应的永久虚拟电路(Permanent Virtual Circuit,简称:PVC)。其中,接入网入口设备可以为非对称数字用户环路调制解调器(简称:ADSLMODEM)等设备。
步骤203,接入网设备中的接入网出口设备根据映射后的永久虚拟电路,将上述数据包发送给IPv4业务网络或IPv6业务网络。其中,接入网出口设备可以为数字用户线路接入复用器(简称:DSLAM)等设备。
通过本实施例所述方法,用户终端可以向支持IPv4协议栈的网络环境及支持IPv6协议栈的网络环境发送数据信息,从而实现信息互联,有利于由IPv4网络环境向IPv6网络环境的顺利过渡。
本发明所述用户终端的实施例1
本实施例提供了一种用户终端,如图3所示,该用户终端1包括接收单元10和发送单元20。
其中,发送单元20用于根据要发送的数据包的IP协议类型,在该数据包的链路层包头中添加相应的虚拟局域网标记,并发送给接入网设备。再由接入网设备根据接收到的数据包中的虚拟局域网标记,将该数据包发送给IPv4业务网络或IPv6业务网络。其中的接入网设备可以包括接入网入口设备和接入网出口设备。接入网设备对数据包的具体处理过程可参见本发明所述用户终端的信息发送方法实施例,此处不再赘述。
接收单元10包括第一模块11,第二模块12,第三模块13及第四模块14,其工作原理如下:
第一模块11中预先装载有IPv4协议栈和IPv6协议栈。当用户终端1接收到数据包时,第二模块12在接收到的数据包的链路层包头中查找VLAN标记;第三模块13根据由第二模块12查找到的VLAN标记判断接收到的数据包的IP协议类型,即判断该数据包采用的是IPv4协议还是IPv6协议,并将该IP协议类型发送给第四模块14;第四模块14根据接收到的IP协议类型,调用装载于第一模块11中的IPv4协议栈或IPv6协议栈对上述数据包进行相应的处理。
通过本实施例所述装置,通过对VLAN标记的判断获得了数据包所采用的IP协议类型,进而使用户终端能够支持IPv4/IPv6双协议栈,使其能够同时和两种网络环境下的业务系统如互动多媒体业务系统相连。实现了运营商的业务由IPv4网络环境向IPv6网络环境的顺利过渡。
本发明所述用户终端的实施例2
实施例1中的接收单元10通过对VLAN标记的判断获得了数据包所采用的IP协议类型。然而在实际的某些应用中,如果数据包发往的是非VLAN设备,则VLAN交换机则不会在数据包中添加VLAN标记。
为了解决这一问题,本实施例在实施例1的基础上进行了改进,如图4所示,用户终端1的接收单元10除了包括第一模块11,第二模块12,第三模块13及第四模块14以外,还进一步包括:第五模块15,第六模块16和第七模块17。其工作原理如下:
第一模块11中预先装载有IPv4协议栈和IPv6协议栈。当用户终端1接收到数据包时,第二模块12在接收到的数据包的链路层包头中查找VLAN标记;并且,第五模块15对接收到数据包进行链路层解析,得到该数据包的链路层数据段;第六模块16对第五模块得到的链路层数据段进行拆包,得到所述数据包的IP层包头。如果第二模块12查找VLAN标记失败,即该数据包中并不包含VLAN标记时,则将查找失败的信息发送给第七模块17;当第二模块12未找到VLAN标记时,第七模块17根据第六模块16得到的IP层包头中的IP协议版本号判断数据包的IP协议类型,并将该IP协议类型发送给第四模块14;第四模块14根据接收到的IP协议类型,调用装载于第一模块11中的IPv4协议栈或IPv6协议栈对上述数据包进行相应的处理。
另外,为了实现网络通信,用户终端1中还可以设置第八模块18和第九模块19。其中,第八模块18用于装载通用的TCP/UDP协议;第九模块19,用于通过Socket API调用装载于第八模块18中的所述TCP/UDP协议,以实现网络通信。如表1所示为用户终端1中装载的IPv4/IPv6双协议栈结构。
表1
| IPv4应用程序 |
IPv6应用程序 |
| Socket API |
| 通用的TCP/UDP |
| IPv4协议 |
IPv6协议 |
| 数据链路层 |
| 物理层 |
通过本实施例所述装置,通过对IP层包头中的IP协议版本号的检测获得了数据包所采用的IP协议类型。从而在用户终端属于非VLAN设备时也实现了使用户终端能够支持IPv4/IPv6双协议栈的目的。因此,扩大了用户终端的适用范围。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。