多个虚拟局域网共用一个网际协议子网网段时的通信方法

文档序号:7683927阅读:357来源:国知局
专利名称:多个虚拟局域网共用一个网际协议子网网段时的通信方法
技术领域
本发明涉及一种计算机网络通信方法,特别涉及一种在有多个虚拟局域网(Virtual Local Area Network,以下简称为VLAN)共用同一网际协议(IP)子网网段时的计算机之间的通信方法。
背景技术
局域网(LAN)采用带物理地址或MAC地址的帧来传送数据并且无需中间交换和路由选择,因此允许在OSI模型的物理层(L1)和数据链路层(L2)上实现。而多个LAN之间的连接需要借助局域网交换机实现,此时每个LAN都与交换机的一个物理端口连接,LAN内计算机发送的MAC帧通过端口被交换机接收并解析出物理地址或MAC地址信息,如果目标地址与发送计算机的源地址属于同一LAN,则该帧无需转发,因此将被交换机忽略,否则交换机向其它LAN转发该帧。换句话说,这种交换机基于物理地址或MAC地址与交换机物理端口的映射关系进行转发处理,因此允许运行在OSI模型的数据链路层(L2)上并被称为第二层交换机。
为了提高网络带宽的使用效率,连接处于不同地理位置的计算机和在一个大型局域网中组建一个较小的工作组,交换机可以从逻辑上对物理端口进行分组从而组建虚拟局域网(VLAN)。例如一台交换机有24个物理端口,可根据实际需要将端口1-4归并为VLAN端口A,端口5-17归并为VLAN端口B,端口18-24归并为VLAN端口C,从而使与分属VLAN端口A、B和C的物理端口连接的各种设备构成三个虚拟局域网。实际上,属于同一VLAN端口的物理端口在序号上可以是不连续的,甚至可以将不同交换机上的物理端口归并为一个VLAN端口。VLAN本质上应视为OSI模型的L2层子网网段的逻辑分组,它必须与支持基于网络层(L3)地址转发业务的设备(例如路由器或支持网络层交换的L3层交换机)连接才能使数据包在不同VLAN之间传送。有关VLAN的详细描述,可参见IEEE 802.1Q和802.1p协议,其中前者主要规定了VLAN的实现方式,而后者针对实时性要求较高的传送定义了优先级的概念。
在IP协议下,对于不同的VLAN,交换机或者路由器一般为每个VLAN都分配一个不同的IP子网网段,而不同VLAN内的计算机则配置在相应的不同子网网段上。例如在图1中,接入设备1为支持三层交换的L3层交换机或者路由器,假设其物理端口被归并为3个VLAN端口并以不同的VLAN ID值标识,计算机A1、A2和A3经以太网交换机LS-1与接入设备1连接的物理端口被分入VLAN ID=1的逻辑端口,计算机B1、B2和B3经以太网交换机LS-2与接入设备1连接的物理端口被分入VLAN ID=2的逻辑端口,计算机C1、C2和C3经以太网交换机LS-3与接入设备1连接的物理端口被分入VLAN ID=3的逻辑端口,因此计算机A1-A3、B1-B3以及C1-C3分属三个不同的VLAN A、B和C。与这三个VLAN相关的IP地址可分配如下VLAN ID=1端口地址(即VLAN A的网关地址)为172.11.252.1,子网网段地址为172.11.252.0,掩码为255.255.255.0;VLAN ID=2端口地址(即VLAN B的网关地址)为172.11.253.1,子网网段地址为172.11.253.0,掩码为255.255.255.0;VLAN ID=3端口地址(即VLAN C的网关地址)为172.11.254.1,子网网段地址为172.11.254.0,掩码为255.255.255.0。计算机A1-A3的IP地址配置在地址为172.11. 252.0的子网网段上;计算机B1-B3的IP地址配置在地址为172.11.253.0的子网网段上;计算机C1-C3的IP地址配置在地址为172.11.254.0的子网网段上。
图2示出了当位于172.11.252.0子网网段上的计算机A1向位于同一子网网段上的计算机A2传送数据时的流程。如图2所示,由于A1与A2属于同一子网网段,因此A1首先查找地址解析协议(ARP)表,通过A2的IP地址查找A2的物理地址或MAC地址;如果ARP表中存储了A2的信息,则A1获取A2的物理地址或MAC地址并在所属VLAN内传送包含该物理地址或MAC地址的IP报文,随后位于该物理地址或MAC地址的A2将接收到报文;如果ARP表中未存储A2的信息,则A1向自己所在网段172.11.252.0发送ARP请求报文,也就是向VLAN 1中的所有计算机发送ARP请求报文,ARP请求报文中的被请求的IP地址是A2的IP地址,被分配了该目的地址的计算机A2在接收到ARP请求报文后向A1回送包含其物理地址或MAC地址的ARP响应报文,A1随后将该物理地址或MAC地址作为目的物理地址或MAC地址把IP报文传送给A2。
当位于172.11.252.0子网网段上的计算机A1向位于172.11.253.0子网网段上的计算机B1传送数据时,由于A1与B1属于不同的子网网段,因此A1向地址为172.11.252.1的网关发送包含目的IP地址的报文,接入设备1根据目的IP地址中子网网段地址与接入设备逻辑端口的映射关系将该IP报文转发给网关172.11.253.1,再由该网关根据ARP表查找到相应的物理地址或MAC地址,然后将报文传送给带有该物理地址或MAC地址的计算机B1。
在上述计算机通信方法中,需要将不同的VLAN在逻辑上作为不同的IP子网网段进行处理,并且不同VLAN内的计算机分属相应的IP子网网段并配置相应的网关,因此当接入设备支持的VLAN数量较多时,需要配置多个IP网段,浪费了IP地址资源,同时数据工作量大。具体而言,对于每个VLAN,即使它包含一个计算机,也必须为其提供4个IP地址,即,VLAN的子网网段地址、广播地址、网关地址和该计算机的地址。

发明内容
因此本发明的目的是提供一种用于虚拟局域网(VLAN)的计算机网络通信方法,它可以实现共用同一IP子网网段的VLAN内的计算机之间的通信。
为此提供这样一种计算机网络通信方法,所述网络包含多个虚拟局域网(VLAN)和至少一个包含VLAN端口的接入设备,所述每个VLAN对应一个所述VLAN端口并通过相应的VLAN端口与所述接入设备连接,至少两个所述VLAN被分配一个IP子网网段,当被分配同一IP子网网段但属于不同VLAN内的其中一台计算机向另一台计算机发送报文时,所述方法包含以下步骤(1)所述发送报文的计算机发送包含源IP地址、目的IP地址、源物理地址和目的物理地址的报文,其中所述源IP地址为所述发送报文的计算机的IP地址,所述目的IP地址为所述接收报文的计算机的IP地址,所述源物理地址为所述发送报文的计算机的物理地址,而所述目的物理地址为所述接入设备上与所述发送报文计算机所属的VLAN相连的VLAN端口的物理地址;(2)所述接入设备接收到所述报文后,将所述报文中的源物理地址改为接入设备上与所述接收报文计算机所属的VLAN相连的VLAN端口的物理地址,所述目的物理地址改为所述接收报文计算机的物理地址,并且经所述接入设备上与所述接收报文的计算机所属VLAN相连的VLAN端口发送报文。
由上可见,利用本发明的通信方法可以实现多个虚拟局域网共用一个IP子网网段,多个VLAN只需配置一个IP地址即可,节约了IP地址资源同时简化了数据配置。这与当前每个VLAN至少需要配置4个IP地址的情况相比,这大大节省了地址资源。


图1为虚拟局域网(VLAN)的组网图;图2为现有技术下同一VLAN内计算机之间发送IP报文的流程图;以及图3为按照本发明的两个VLAN共用同一IP子网网段时分属不同VLAN内的计算机之间发送IP报文的流程图。
实施发明的具体方式以下以图1所示虚拟局域网为例描述按照本发明的计算机通信方法。首先描述对各个VLAN的地址分配。首先将接入设备1内VLAN ID=1和VLAN ID=2的两个端口配置在一个逻辑接口LI中,将原先虚拟局域网A和B的计算机配置在一个子网网段上。换句话说,VLAN ID=1和VLAN ID=2的两个端口以及虚拟局域网A和B内的计算机共用同一IP子网网段。如果该子网网段地址假设为172.11.252.0,掩码为255.255.255.0,则上述计算机A1-A3和B1-B3的地址在172.11.252.0的子网网段上分配,例如计算机A1可为172.11.252.4,计算机A2可为172.11.252.5,计算机B1可为172.11.252.6。逻辑接口LI可以视为该子网网段的网关,其地址可配置为172.11.252.1,掩码为255.255.255.0。对于VLAN C,其子网网段地址假设仍然为172.11.254.0,网关地址为172.11.254.1,掩码为255.255.255.0。值得指出的是,上述配置只是示意性质的,实际上还存在其它各种使不同VLAN内计算机共用同一IP子网网段的具体组合方式,因此上述和下述的具体描述不应理解为是对本发明的限定,而仅用于阐释目的。
图3示出了当位于172.11.252.0子网网段上的计算机A1向位于同一子网网段上但分属不同VLAN的计算机B1传送包含目的IP地址的IP报文时的流程。如图3所示,由于A1与B1属于同一子网网段,因此A1首先根据ARP表,通过B1的IP地址查找目的物理地址或MAC地址。如果ARP表中存储了B1的有关地址信息,则A1即可获得B1的目的物理地址或MAC地址。值得指出的是,按照本发明,虽然此时报文中的源IP地址为计算机A1的IP地址,源物理地址为A1的物理地址或MAC地址,而目的IP地址是B1的IP地址,但是目的物理地址应是接入设备与A1所属虚拟局域网A连接的接入设备VLAN端口的物理地址或MAC地址,即接入设备VLAN ID=I端口的物理地址或MAC地址。换句话说,该B1的MAC地址并非其实际的物理地址,而只是其名义上的物理地址。当该IP报文根据上述物理地址被送至接入设备的VLAN ID=1VLAN端口后,接入设备再根据B1的IP地址查找到应该转发此报文的VLAN端口,即VLAN ID=2的接入设备端口,将报文中的源物理地址修改VLAN ID=2的端口的物理地址,目的物理地址修改为计算机B1实际的物理地址,并通过VLAN ID=2端口转发报文。如果计算机A1的ARP表中未存储B1的IP地址,则如图3所示,根据ARP协议,A1向172.11.252.0网段发送包含该目的IP地址的ARP请求报文。接入设备1接收到ARP报文请求时,它根据ARP报文中的源IP地址和目的IP地址判断出B1所属的VLAN端口和A1所属的VLAN端口不同,则代替B1向A1发送ARP响应报文,其中响应报文中的IP地址虽然是B1的,但是物理地址或MAC地址却是与A1所属VLAN相接的接入设备的VLAN端口的。A1随后从ARP响应报文中获取B1的名义物理地址。当位于172.11.252.0子网网段上的计算机A1向位于同一子网网段并且属于同一VLAN内的计算机A2传送包含目的IP地址的IP报文时,由于A1与A2属于同一VLAN,因此其报文发送方式与前述同一VLAN内计算机之间的报文发送方式相同,此处不再赘述。
由上可见,利用本发明的上述通信方法可实现共用一个IP子网网段的VLAN内计算机之间的通信,而且从计算机端来看,这种通信方式与普通方式没有差别。
当位于172.11.252.0子网网段上的计算机A1向位于172.11.254.0子网网段上的计算机C1传送数据时,由于A1与C1属于不同的子网网段,因此A1首先将包含源IP地址和目的IP地址的报文发送至地址为172.11.252.1的网关,即逻辑端口LI,然后接入设备1根据目的IP地址中子网网段地址与逻辑端口的映射关系将该IP报文转发给网关172.11.254.1,再由该网关根据其所属VLAN的ARP表查找到相应的物理地址或MAC地址并将报文传送给该物理地址或MAC地址的计算机C1。显然,上述过程与普通位于不同子网网段上的虚拟局域网之间的通信过程是相同的。
当位于172.11.254.0子网网段上的计算机C1向位于172.11.252.0子网网段上的计算机A2或B1传送数据时,由于C1与A2或B1属于不同子网网段,因此C1首先将包含源IP地址和目的IP地址的报文发送至地址为172.11.254.1的网关,然后接入设备1根据目的IP地址中子网网段地址与逻辑端口的映射关系将该IP报文转发给网关172.11.252.1。该网关根据IP目标地址确定A2或B1所属的VLAN端口以得到相应的物理地址或MAC地址,与前述相同,在此时的IP报文中,虽然目的IP地址是A2或B1的IP地址,但是物理地址或MAC地址却是A2或B1所属VLAN端口的物理地址或MAC地址。当IP报文按照所查找到的物理地址或MAC地址到达ID=1或2的VLAN端口后,再根据A2或B1的目的IP地址送至A2或B1。
由上可见,利用本发明的上述通信方法同样可实现共用一个IP子网网段的VLAN内计算机与其它IP子网网段上计算机的通信,而且从计算机端来看,这种通信方式与普通方式没有差别。
值得指出的是,本说明书及其权利要求书中的计算机是一个广义概念,它包括但不限于服务器、工作站、打印机或其它任何能连接交换机或路由器从而构成虚拟局域网的设备。
权利要求
1.一种计算机网络通信方法,所述网络包含多个虚拟局域网(VLAN)和至少一个包含VLAN端口的接入设备,所述每个VLAN对应一个所述VLAN端口并通过相应的VLAN端口与所述接入设备连接,其特征在于,至少两个所述VLAN被分配一个IP子网网段,并且当被分配同一IP子网网段但属于不同VLAN内的两台计算机中的其中一台向另一台发送报文时,所述方法包含以下步骤(1)所述发送报文的计算机发送包含源IP地址、目的IP地址、源物理地址和目的物理地址的报文,其中所述源IP地址为所述发送报文的计算机的IP地址,所述目的IP地址为所述接收报文的计算机的IP地址,所述源物理地址为所述发送报文的计算机的物理地址,而所述目的物理地址为所述接入设备上与所述发送报文计算机所属的VLAN相连的VLAN端口的物理地址;以及(2)所述接入设备接收到所述报文后,将所述报文中的源物理地址改为接入设备上与所述接收报文计算机所属的VLAN相连的VLAN端口的物理地址,所述目的物理地址改为所述接收报文计算机的物理地址,并且经所述接入设备上与所述接收报文的计算机所属VLAN相连的VLAN端口发送报文。
2.如权利要求1所述的网络通信方法,其特征在于,如果在步骤(1)中所述发送报文的计算机无法获取所述目的物理地址,则以下列步骤获得所述接入设备上与所述发送报文的计算机所属VLAN相连的VLAN端口的物理地址(a)所述发送报文的计算机发送包含所述目的IP地址的地址解析协议(ARP)请求报文;(b)所述接入设备根据所述ARP请求报文中包含的所述目的IP地址向所述发送报文的计算机发送ARP响应报文,所述ARP响应报文中包含所述接入设备上与所述发送报文的计算机所属VLAN相连的VLAN端口的物理地址;以及(c)所述发送报文的计算机从所述ARP响应报文中获得该物理地址。
3.如权利要求1或2所述的计算机网络通信方法,其特征在于所述接入设备为路由器或者支持网络层交换的交换机。
4.如权利要求1或2所述的计算机网络通信方法,其特征在于所述计算机为连接所述接入设备从而构成虚拟局域网的设备。
全文摘要
本发明提供一种计算机网络通信方法,该方法允许分布在多个虚拟局域网(VLAN)中的计算机配置在同一个IP网段内。利用该方法,一个较大规模的局域网可以分解成多个虚拟局域网(VLAN),多个虚拟局域网(VLAN)接在一台诸如路由器、以太网三层交换机之类的接入设备上,由接入设备实现该通信方法,允许不同虚拟局域网内的计算机配置在同一个IP网段内,计算机之间可以互相通信,这样既可以隔离了局域网内的广播报文,又可以节约IP地址资源,简化数据配置。
文档编号H04L12/28GK1457178SQ0211163
公开日2003年11月19日 申请日期2002年5月10日 优先权日2002年5月10日
发明者沈文, 刘凯, 庆武, 万斌, 徐中亚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1