一种同时实现路由和桥接功能的报文接收和发送方法 【技术领域】
本发明涉及一种同时实现路由和桥接功能的报文接收和发送方法,属于数据通信技术领域。技术背景
在具有桥接功能的路由器中,可以在路由器的一些端口实现桥接功能,另外的端口实现路由功能,这样就可以同时在一台设备上实现网桥和路由器的功能。但是,连接在桥接接口的网络就不能够进行路由,只能在几个桥接网络中相互通信。
对于网桥功能来说,实现的是数据报文在二层的转发,而不能处理IP层。网桥通过在不同端口的以太网地址学习,建立以太网地址与端口的地址映射表,对收到的报文进行以太网地址匹配,然后发送到相应的端口。在实现桥接功能的路由器上,可以独立出一些桥接功能的端口,从而实现桥的功能。但是由于桥转发是在二层转发报文,因此这些端口就不能够实现IP的路由功能。比如一个企业的两个分支机构如果通过桥接功能连接在一起,那么就不能再通过这个网络接入到IP协议地国际互联网,除非使用新的设备和线路。发明内容
本发明的目的是针对已有技术中使用桥接功能时不能够进行路由,不能与其它非桥接端口所连接的网络进行通信的缺点,提出一种互联网协议下同时实现路由和桥接功能的报文接收和发送方法,使桥接网络之间,可以通过桥接的链路层转发完成通信功能,而与其它非桥接端口所连接的网络,则通过IP的路由功能,在网络层进行转发,实现IP协议的通信。
本发明提出的互联网协议下同时实现路由和桥接功能的报文接收方法,包括以下各步骤:
1、在路由器上设置桥接模块和桥接端口,并为所有桥接端口设置一个共同的以太网地址和IP地址;
2、通过桥接端口接收报文时,判断报文中的目的以太网地址,若该地址不是广播地址、多播地址或桥接端口的共同以太网地址中的任何一个,则将报文转至桥接模块发送;
3、若该地址是广播地址、多播地址或桥接端口的共同以太网地址中的任何一个,则根据包含在报文中的类型信息进一步判断该报文是否为IP报文,若为IP报文,则去掉链路层信息,转至IP模块发送;
4、若上述第3步的报文不是IP报文,进一步判断是否为地址解析协议(以下简称ARP)报文,若是ARP报文,则进行ARP处理,若不是,则丢弃报文。
上述方法中的ARP处理过程包括:首先判断包含在ARP报文中的IP地址请求字段,若该地址是桥接端口的共同IP地址,则将桥接端口的共同以太网地址发送至ARP报文的发送端,并丢弃报文,若不一致,则直接丢弃报文。
本发明提出的互联网协议下同时实现路由和桥接功能的报文发送方法,包括以下步骤:
1、在路由器上设置桥接模块和桥接端口,并为所有桥接端口设置一个共同的以太网地址和IP地址;
2、通过桥接端口发送来自IP模块的IP报文时,若在发送报文的路由器上的ARP表中找到与该待发送报文的目的IP地址相对应的目的以太网地址,则将该目的以太网地址复制到待发送报文的目的以太网地址字段,将桥端口的共同以太网地址复制到该报文的源以太网地址字段,然后由桥接模块发送报文;
3、若不能在发送报文的路由器上的ARP表中找到与该待发送报文的目的IP地址相对应的目的以太网地址,则对此报文作ARP处理。
上述报文发送方法中的报文ARP处理过程包括如下步骤:
1、从路由器的IP模块中的ARP模块上为该IP报文请求一个相应的以太网地址,将该以太网地址复制到待发送报文的目的以太网地址字段,将桥接端口的共同以太网地址复制到该报文的源以太网地址字段,然后由桥接模块发送报文;
2、更新ARP表,将请求到的以太网地址和对应的IP地址加入到ARP表中,用于发送后续报文。
本发明提出的互联网协议下同时实现路由和桥接功能的报文接收和发送方法,用于桥接网络中,不但可以进行相互的桥接访问,而且,对于IP协议,还可以进行路由,实现与非桥接的网络进行IP协议之间的通信。这样,桥接端口之间通过桥的转发功能进行通信,与和非桥接端口所连接的网络,则通过IP协议的路由功能来完成通信。本方法用于中、低端路由器,对于IP协议,不但可以在桥接端口之间的数据可以进行二层桥接转发,同时,可以与其他非桥接端口所连接的网络进行IP协议的通信。这种功能可以增强IP路由和桥接功能的结合,在用户组网时,提供更大的灵活度和更完善的解决方案。具体实施方式
本发明提出的互联网协议下同时实现路由和桥接功能的报文接收方法,在路由器上设置桥接模块和桥接端口,并为桥接端口设置一个共同的以太网地址和IP地址;通过桥接端口接收报文时,判断报文中的目的以太网地址,若该地址不是广播地址、多播地址或桥接端口的共同以太网地址中的任何一个,则将报文转至桥接模块发送;若该地址是广播地址、多播地址或桥接端口的共同以太网地址中的任何一个,则根据包含在报文中的类型信息进一步判断该报文是否为IP报文,若为IP报文,则去掉链路层信息,转至IP模块发送;若不是IP报文,进一步判断是否为地址解析协议(以下简称ARP)报文,若是ARP报文,则进行ARP处理,若不是,则丢弃报文。
上述方法中的ARP处理过程包括:首先判断包含在ARP报文中的IP地址请求字段,若该地址是桥接端口的共同IP地址,则将桥接端口的共同以太网地址发送至ARP报文的发送端,并丢弃报文,若不一致,则直接丢弃报文。
本发明提出的互联网协议下同时实现路由和桥接功能的报文发送方法,首先在路由器上设置桥接模块和桥接端口,并为桥接端口设置一个共同的以太网地址;通过桥接端口发送来自IP模块的IP报文时,若在发送报文的路由器上的ARP表中找到与该待发送报文的目的IP地址相对应的目的以太网地址,则将该目的以太网地址复制到待发送报文的目的以太网地址字段,将桥端口的共同以太网地址复制到该报文的源以太网地址字段,然后由桥接模块发送报文;若不能在发送报文的路由器上的ARP表中找到与该待发送报文的目的IP地址相对应的目的以太网地址,则对此报文作ARP处理。
上述ARP处理过程为:从路由器的IP模块中的ARP模块上为该IP报文请求一个相应的以太网地址,将该以太网地址复制到待发送报文的目的以太网地址字段,将桥接端口的共同以太网地址复制到该报文的源以太网地址字段,然后由桥接模块发送报文;更新ARP表,将请求到的以太网地址和对应的IP地址加入到ARP表中,用于发送后续报文。