发送报文的方法及装置与流程

文档序号:25991746发布日期:2021-07-23 21:03阅读:181来源:国知局
本申请涉及通信领域,特别涉及一种发送报文的方法及装置。
背景技术
::高频交易(highfrequencytrading)网络一般作为交易所使用的交易网络,可以用于投资银行、对冲基金,以及机构和个人投资等场景。高频交易网络一般分为两级,其中一级为交易所内部网络,另一级为经纪商网络。经纪商网络可以为多个,该多个经纪商网络可以通过交易所交换机(exchangeswitch)与交易所内部网络相连。经纪商网络包括经纪商前置机(brokerfront-endmachine)、经纪商交换机(brokerswitch)和多个交易用户设备,每个交易用户设备通过该经纪商交换机与经纪商前置机相连,经纪商前置机再连接到交易所交换机。经纪商交换机包括每个交易用户设备对应的端口,每个交易用户设备分别连接到每个交易用户设备对应的端口。经纪商交换机中通常配置为二层交换,保存有媒体接入控制层(mediaaccesscontrol,mac)地址的哈希值与端口号的对应关系,该对应关系中的每条记录包括一个交易用户设备的mac地址的哈希值和与该交易用户设备相连的端口号。这样经纪商交换机可以接收来自交易所内部网络的报文,该报文包括目的设备的mac地址。经纪商交换机对该mac地址进行哈希运算,得到哈希值,根据该哈希值,从该对应关系中获取对应的端口号,根据该端口号向交易用户设备发送该报文。经纪商交换机负责经纪商前置机与交易用户设备之间的通信,为保证高频交易需求,其需要在保证公平的基础上,尽量缩短时延。目前经纪商交换机在对报文进行二层转发时,需要对交易用户设备的全mac地址进行哈希运算并查表,并且可能还需针对mac地址执行哈希冲突检测,导致时延增加。技术实现要素:本申请提供了一种发送报文的方法及装置,以减少发送报文的时延。所述技术方案如下:第一方面,本申请提供了一种发送报文的方法,在所述方法中:转发设备接收第一报文,第一报文包括第一用户设备的第一媒体介入控制层mac地址。转发设备根据第一mac地址确定第一用户设备的第一掩码地址,第一掩码地址是第一mac地址中的第i至第j个比特的内容,i和j均为大于0的整数,i<j≤k,k为第一mac地址包括的总比特数,第一掩码地址的比特数小于k。转发设备根据第一掩码地址,向第一用户设备发送第一报文。其中,由于第一掩码地址是第一mac地址的第i至第j个比特的内容,所以转发设备不需要等待接收完整的第一mac地址,就可以确定第一掩码地址,并直接根据第一掩码地址转发报文从而可以减小报文转发的时延,提高发送报文的效率。另外,根据掩码地址进行报文转发,可以减少对第一mac地址进行哈希运算以及解决哈希冲突的运算量,从而减少了在发送报文时所消耗的转发设备的运算资源。在一种可能的实现方式中,转发设备包括第一掩码地址与第一端口号的映射关系。转发设备根据第一掩码地址,从该映射关系中获取第一端口号。转发设备根据第一端口号,向第一用户设备发送第一报文。由于根据该第一掩码地址,从该映射关系中获取到第一端口号,该映射关系中的每个掩码地址对应的端口号不同,从而保证了报文的正常转发。在一种可能的实现方式中,转发设备与多个用户设备连接,多个用户设备包括多个mac地址,该多个用户设备包括第一用户设备。转发设备从该多个mac地址中分别提取第i至第j个比特的内容,确定与该多个mac地址对应的多个掩码地址,该多个掩码地址均不相同,该多个掩码地址用于向该多个用户设备发送报文,该多个掩码地址包括第一掩码地址。由于从该多个mac地址中分别提取第i至第j个比特的内容,确定与该多个mac地址对应的多个掩码地址,且该多个掩码地址包括第一掩码地址,这样在转发设备接收到第一报文时,直接根据第一报文的第一mac地址,确定第一掩码地址,根据第一掩码地址发送第一报文,提高发送效率。在一种可能的实现方式中,转发设备从多个mac地址中分别提取第1至第j个比特的内容,确定与多个mac地址对应的多个初始掩码地址,j的初值为大于1且小于k的整数。在该多个初始掩码地址中任意两个初始掩码地址均不相同时,转发设备确定该多个初始掩码地址为多个掩码地址。由于在该多个初始掩码地址中任意两个初始掩码地址均不相同时,转发设备确定该多个初始掩码地址为多个掩码地址,这样保证每个用户设备的掩码地址不同,避免产生地址冲突。在一种可能的实现方式中,在该多个初始掩码地址中存在任意两个初始掩码地址相同时,转发设备设置j=j+n,n为大于或等于1且小于或等于47的整数,循环执行从该多个mac地址中分别提取第1至第j个比特的内容,直至确定该多个掩码地址。通过该具体的实现机制,可以保证获取的每个用户设备的掩码地址均不同,不会产生地址冲突。在一种可能的实现方式中,j的初值为8,n为8。在一种可能的实现方式中,在该多个初始掩码地址中存在任意两个初始掩码地址相同时,转发设备设置j=j+n,n为大于或等于1且小于或等于47的整数,循环执行从该多个mac地址中分别提取第1至第j个比特的内容,直至确定多个第一掩码地址,该多个第一掩码地址均不相同,该多个第一掩码地址的比特数为j。转发设备从该多个第一掩码地址中分别提取第t至第j个比特的内容,确定与该多个第一掩码地址对应的多个第二掩码地址,t的初值为大于1且小于j的整数。当任意两个第二掩码地址均不相同时,转发设备确定该多个第二掩码地址为该多个掩码地址。由于从该多个第一掩码地址中分别提取第t至第j个比特的内容,确定与该多个第一掩码地址对应的多个第二掩码地址,这样可以减小每个用户设备的掩码地址的长度,提升报文转发效率。在一种可能的实现方式中,在任意两个第二掩码地址相同时,转发设备设置t=t-q,q为大于或等于1且小于或等于(j-1)的整数,循环执行从该多个第一掩码地址中分别提取第t至第j个比特的内容,直至确定更新后的多个第二掩码地址均不相同,其中更新后的多个第二掩码地址的最高位为该多个mac地址中的第i位。转发设备确定更新后的多个第二掩码地址为该多个掩码地址。如此可以保证获取的每个用户设备的掩码地址均不同,不会产生地址冲突。在一种可能的实现方式中,t的初值为(j-7),q为8。在一种可能的实现方式中,转发设备根据哈希因子对第一掩码地址进行哈希运算,确定第一掩码地址的第一哈希值。转发设备根据第一掩码地址的第一哈希值,向第一用户设备发送所述第一报文。在一种可能的实现方式中,转发设备与多个用户设备连接,该多个用户设备包括多个mac地址,该多个用户设备包括第一用户设备。转发设备从该多个mac地址中分别提取第i至第j个比特的内容,确定与多个mac地址对应的多个掩码地址,该多个掩码地址均不相同,该多个掩码地址包括第一掩码地址。转发设备根据该哈希因子,对该多个掩码地址进行哈希运算,确定该多个掩码地址的多个哈希值,该多个哈希值包括所述第一哈希值。转发设备保存该多个哈希值与多个端口号之间的映射关系,该多个端口号用于发送该多个用户设备的报文。其中,掩码地址的哈希值的长度小于该掩码地址的长度,这样在根据第一掩码地址的第一哈希值,可以很快地从该映射关系中获取第一端口号,提高了发送报文的效率。在一种可能的实现方式中,转发设备包括mac地址信息表,该mac地址信息表包括多个mac地址,第一报文还包括第二用户设备的第二mac地址,第二mac地址不属于该mac地址信息表。转发设备根据第二mac地址不属于该mac地址信息表,从第二mac地址中提取第二用户设备的第二掩码地址,第二掩码地址是第二mac地址中的第i至第j个比特的内容。转发设备保存第二掩码地址。其中,第二用户设备是连接到转发设备的新用户设备,转发设备获取并保存第二用户设备的第二掩码地址,这样转发设备之后在向第二用户设备发送报文时,可以直接根据第二用户设备的第二掩码地址发送报文,减小发送报文的运算量和发送效率。在一种可能的实现方式中,在确定与第一用户设备对应的端口号由第一端口号变为第二端口号时,转发设备在该映射关系中将与第一掩码地址相对应的端口号更新第二端口号。这样及时更新该映射关系,避免了发送报文时出现发送错误。在一种可能的实现方式中,转发设备将模板掩码和多个mac地址分别进行与运算,得到多个掩码地址,该模板掩码包括k个比特,该模板掩码中的第1至第j个比特均为比特值1,该模板掩码中的其他比特均为比特值0。从而实现从mac地址中提取掩码地址。在一种可能的实现方式中,转发设备接收第一报文,具体为转发设备接收第一报文的一部分,第一报文的一部分包括第一mac地址的第1至第j个比特的内容。转发设备在仅接收到第一mac地址的第1至第j个比特的内容时,确定第一掩码地址。这样不用接收完整个第一mac地址,就可以确定第一掩码地址,提高发送报文的效率。第二方面,本申请提供了一种发送报文的装置,用于执行第一方面或第一方面的任意一种可能实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能实现方式的方法的单元。第三方面,本申请提供了一种发送报文的设备,所述设备包括:处理器、存储器和收发器。其中,所述处理器、所述存储器和所述收发器之间可以通过总线系统相连。所述存储器用于存储一个或多个程序,所述处理器用于执行所述存储器中的一个或多个程序,使得所述装置完成第一方面或第一方面的任意可能实现方式中的方法。第四方面,本申请提供了一种发送报文的设备,所述设备包括处理器;所述处理器用于与存储器耦合,以调用所述存储器中存储的程序,使得所述设备完成第一方面或第一方面的任意可能实现方式中的方法。第五方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能实现方式中的方法。第六方面,本申请提供了一种包含程序代码的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能实现方式中的方法。附图说明图1是本申请实施例提供的一种网络架构示意图;图2是本申请实施例提供的另一种网络架构示意图;图3是本申请实施例提供的一种转发设备的结构示意图;图4是本申请实施例提供的一种确定用户设备掩码地址的方法流程图;图5是本申请实施例提供的一种发送报文的方法流程图;图6是本申请实施例提供的一种二层转发报文的示意图;图7是本申请实施例提供的一种发送报文的装置结构示意图。具体实施方式下面将结合附图对本申请实施方式作进一步地详细描述。参见图1或图2,本申请实施例提供了一种网络架构,该网络架构包括:转发设备1和多个用户设备2,转发设备1包括多个端口,所述多个端口分别与多个用户设备2一一对应。端口可以是物理接口,也可以是逻辑端口。多个用户设备2包括对应的多个mac地址。本申请实施例提供了一种发送报文的方法,该方法可以应用于图1或图2示出的网络架构中,以降低报文的转发时延,提高转发设备的运算效率。具体地,在该方法中,转发设备1可以基于与用户设备2的mac地址对应的掩码地址,实现对发往该用户设备2的报文的快速转发,所述掩码地址的长度小于所述mac地址的长度。转发设备1还可以建立掩码地址与端口号的映射关系,或者,建立掩码地址的哈希值与端口号的映射关系,这样,转发设备1转发设备1根据掩码地址和该映射关系,获取与用户设备相连的端口的端口号,根据该端口号向用户设备1发送该报文。该映射关系为掩码地址与端口号的映射关系,或者,掩码地址的哈希值与端口号的映射关系。可选的,参见图2,图1所示的网络架构可以应用于高频交易网络,高频交易网络一般分为两级,其中一级为交易所内部网络,另一级为经纪商网络。经纪商网络的数目可以为一个或多个,交易所内部网络通过交易所交换机3与每个经纪商网络相连。图1所示的网络架构可以应用于经纪商网络中。参见图2,对于任一个经纪商网络,该任一个经纪商网络除了包括至少一个用户设备2和转发设备1外,还包括经纪商前置机4,经纪商前置机4也是一种用户设备。该至少一个用户设备2中的每个用户设备与转发设备1中的一个端口相连,转发设备1还通过一个端口与经纪商前置机4相连,该经纪商前置机4再连接到交易所交换机3上。经纪商前置机4可以接收到交易所内部网络发送的报文,该报文包括的目的mac地址是与转发设备1相连的某个用户设备2的mac地址。此时,经纪商前置机4向转发设备1发送该报文。转发设备1接收该报文,按上述发送报文的操作,向该用户设备2发送该报文。可选的,上述转发设备1可以为交换机等,例如可以为经纪商交换机。参见图3,本申请实施例提供了一种转发设备,该转发设备可以为图2示出的经纪商交换机1a,或图1示出的转发设备1,包括:处理器11、存储器12、转发芯片13、总线14和多个端口15。处理器11、存储器12、转发芯片13和该多个端口15通过总线14相连。处理器12可以在存储器13中建立掩码地址与端口号之间的映射关系,或掩码地址的哈希值与端口号之间的映射关系。这样,转发芯片13在接收到报文时,该报文包括用户设备的mac地址(目的mac地址),根据该报文的包括的用户设备的mac地址确定用户设备的掩码地址,根据掩码地址和存储器12包括的该映射关系,获取与用户设备相连的端口15的端口号,根据该端口号,向用户设备发送该报文。可选的,存储器12还保存有第一应用程序代码和第二应用程序代码。处理器11可以从存储器12中调用并运行第一应用程序代码,来实现建立该映射关系的功能。以及,转发芯片13可以从存储器12中调用并运行第二应用程序代码,来实现确定掩码地址,以及向用户设备发送报文的功能。其中,处理器11建立该映射关系的详细实现过程,将在后续图4所示的实施例进行说明,在此先不介绍。以及,转发芯片13确定掩码地址,以及向用户设备发送报文的详细实现过程,将在后续图5所示的实施例进行说明,在此先不介绍。可选的,该转发设备在逻辑上可以划分为控制面和转发面,其中,处理器11位于控制面,转发芯片13和该多个端口15位于转发面。可选的,该转发芯片13通过数字信号处理(digitalsignalprocessing,dsp)或现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)等部件来实现。可选的,上述处理器11为通用中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。该处理器11还可以是指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。上述总线14可以为一通路,在上述各部件之间传送信息。上述存储器12可以是随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器12可以是独立存在,通过总线14与处理器11和转发芯片13相连接。或者,存储器12也可以和转发芯片13集成在一起。上述每个端口15可以独立存在,通过总线14与处理器11和转发芯片13相连接。或者,每个端口15也可以和转发芯片13集成在一起。参见图4,本申请实施例提供了一种确定用户设备掩码地址的方法。该方法可以应用于上述图1或图2所示的网络架构中,该方法的执行主体可以为上述图1至3所示的任一实施例提供的转发设备。s401:转发设备获取与转发设备相连的每个用户设备的mac地址和每个用户设备对应的端口号。在s401中,转发设备可以通过如下两种方式来实现,该两种方式分别为:第一种方式,转发设备包括与转发设备相连的各用户设备的网际互连协议(internetprotocol,ip)地址,转发设备根据该各用户设备的ip地址,获取各用户设备的mac地址和各用户设备对应的端口号。对于任一个ip地址,转发设备生成包括该ip地址的地址解析协议(addressresolutionprotocol,arp)请求报文,通过转发设备包括的各端口广播该arp请求报文。对于与转发设备相连的任一个用户设备,该任一个用户设备接收到该arp请求报文,检测出该arp请求报文中包括的ip地址是自身的ip地址时,向转发设备发送arp应答报文,该arp应答报文包括该用户设备的mac地址。该任一个用户设备检测出该arp请求报文中包括的ip地址不是自身的ip地址,则直接丢弃该arp请求报文。转发设备从一个端口接收该arp应答报文,将该端口的端口号作为与该任一用户设备对应的端口号,以及从该arp应答报文中读取该任一用户设备的mac地址。转发设备按上述方式对转发设备包括的其他各ip地址做上述相同的操作,从而获取与转发设备相连的每个用户设备的mac地址和每个用户设备对应的端口号。可选的,转发设备包括的与转发设备相连的各用户设备的ip地址可以是技术人员预先配置的。技术人员可以在转发设备中配置一个ip地址段或ip地址集合,该ip地址段包括与转发设备相连的每个用户设备的ip地址,该ip地址集合包括与转发设备相连的每个用户设备的ip地址。例如,假设参见图3,技术人员在转发设备中配置的ip地址段为“192.168.10.1至192.168.10.4”,该ip地址段包括用户设备a的ip地址“192.168.10.1”,用户设备b的ip地址“192.168.10.2”,用户设备c的ip地址“192.168.10.3”,以及经纪端前置机的ip地址“192.168.10.4”。对于ip地址“192.168.10.1”,转发设备生成arp请求报文,该arp请求报文包括该ip地址“192.168.10.1”的,通过转发设备包括的端口a、b、c和d广播该arp请求报文。对于用户设备a,用户设备a接收该arp请求报文,检测出该arp请求报文包括的ip地址“192.168.10.1”是自身的ip地址,向转发设备发送arp应答报文,该arp应答报文包括用户设备a的mac地址“00-00-5e-00-01-01(16进制)”。转发设备从端口a中接收该arp应答报文,将该端口a的端口号a作为用户设备a对应的端口号,以及从该arp应答报文中读取用户设备a的mac地址“00-00-5e-00-01-01”。按上述相同方式,转发设备获取与用户设备b对应的端口号b以及用户设备b的mac地址“28-6e-d4-89-37-68”,获取与用户设备c对应的端口号c以及用户设备c的mac地址“00-80-c2-00-00-00”,获取经纪商前置机对应的端口号d以及经纪商前置机的mac地址“00-01-6c-06-a0-29”。可选的,对于任一个用户设备,转发设备还将获取的该任一个用户设备的mac地址和该任一个用户设备对应的端口号之间的对应关系保存到mac地址信息表。例如,转发设备在获取到用户设备a的mac地址“00-00-5e-00-01-01”和用户设备a对应的端口号a后,可以将该用户设备a的mac地址“00-00-5e-00-01-01”和用户设备a对应的端口号a之间的对应关系保存在如下表1所示的mac地址信息表中。表1mac地址(16进制)端口号00-00-5e-00-01-01a28-6e-d4-89-37-68b00-80-c2-00-00-00c00-01-6c-06-a0-29d第二种方式,转发设备包括mac地址信息表,该mac地址信息表包括与转发设备相连的用户设备的mac地址和该转发设备对应的端口号,转发设备从该mac地址信息表中获取与转发设备相连的用户设备的mac地址和该用户设备对应的端口号。mac地址信息表是转发设备在转发报文的过程中通过自学习方式得到的,mac地址信息表用于保存mac地址与端口号的对应关系。转发设备自学习的过程可以为:转发设备通过一个端口接收到一个用户设备发送的报文,该报文包括源mac地址和目的mac地址,源mac地址为该一个用户设备的mac地址,该端口是与该一个用户设备相连的端口。转发设备根据该源mac地址查询mac地址信息表,如果该mac地址信息表不包括该源mac地址,表示该用户设备是与转发设备相连的新用户设备,将该源mac地址和该端口的端口号对应保存在该mac地址信息表中。可选的,转发设备在未建立掩码地址与端口号的映射关系,或掩码地址的哈希值与端口号的映射关系的情况下,可以根据目的mac地址,查询该mac地址信息表。如果查询出对应的端口号,根据该端口号发送该报文,如果没有查询出对应的端口号,通过该转发设备包括的其他各端口广播该报文。例如,转发设备通过端口a接收用户设备a发送的报文,该报文包括源mac地址“00-00-5e-00-01-01”和目的mac地址“00-01-6c-06-a0-29”。假设,转发设备根据源mac地址“00-00-5e-00-01-01”,从mac地址信息表中没有查询出对应的端口号,则将源设备的mac地址“00-00-5e-00-01-01”和端口a的端口号a对应保存在如表1所示的mac地址信息表中。根据目的mac地址“00-01-6c-06-a0-29”,从mac地址信息表中查询出对应的端口号d,通过端口号d对应的端口发送该报文。s402:转发设备从每个用户设备的mac地址提取第i至第j个比特的内容,得到每个用户设备的掩码地址。其中,每个用户设备的掩码地址均不同,i和j均为大于0的整数,i<j≤k,k为任一个用户设备的mac地址包括的总比特数,该掩码地址包括的比特数小于k。通常用户设备的mac地址包括的48个比特,所以通常k的取值为48。在s402中,可以通过多种方式从每个用户设备的mac地址中提取相互不相同的每个用户设备的掩码地址。例如,一种实现方式可以包括如下4021至4023的操作,该4021至4023的操作分别为:4021:针对与转发设备相连的任一个用户设备,转发设备从该任一个用户设备的mac地址中提取第1至第j个比特的内容,得到该任一个用户设备的初始掩码地址,j的初值为大于1且小于k的整数。可选的,转发设备生成模板掩码,模板掩码包括k个比特,模板掩码的第1至第j个比特的比特值均为1,第j+1至第k个比特的比特值均为0。在本操作中,转发设备将该任一个用户设备的mac地址与模板掩码进行与运算,得到该mac地址包括的第1至第j个比特的内容。对与转发设备相连的每个用户设备的mac地址分别执行4021的操作,从而得到每个用户设备的初始掩码地址。可选的,j的初值为6、8或10等。例如,假设j的初值为8,针对用户设备a的mac地址“00-00-5e-00-01-01”,转发设备从该mac地址中提取第1至第8个比特的内容“00”,得到用户设备a的初始掩码地址“00”。针对用户设备b的mac地址“28-6e-d4-89-37-68”,转发设备从该mac地址中提取第1至第8个比特的内容“28”,得到用户设备b的初始掩码地址“28”。针对用户设备c的mac地址“00-80-c2-00-00-00”,转发设备从该mac地址中提取第1至第8个比特的内容“00”,得到用户设备c的初始掩码地址“00”。针对经纪商前置机的mac地址“00-01-6c-06-a0-29”,转发设备从该mac地址中提取第1至第8个比特的内容“00”,得到经纪商前置机的初始掩码地址“00”。4022:转发设备检测每个用户设备的初始掩码地址是否均不同,如果均不同,则执行4023,如果存在任意两个用户设备的初始掩码地址相同,则设置j=j+n,n为大于或等于1且小于或等于47的整数,返回执行4021。可选的,n的初值为6、8或10等。例如,假设n=8,用户设备a的初始掩码地址“00”、用户设备c的初始掩码地址“00”和经纪商前置机的初始掩码地址“00”均相同,所以设置j=j+8=16。针对用户设备a的mac地址“00-00-5e-00-01-01”,转发设备从该mac地址中提取第1至第16个比特的内容“00-00”,得到用户设备a更新的初始掩码地址“00-00”。针对用户设备b的mac地址“28-6e-d4-89-37-68”,转发设备从该mac地址中提取第1至第16个比特的内容“28-6e”,得到用户设备b更新的初始掩码地址“28-6e”。针对用户设备c的mac地址“00-80-c2-00-00-00”,转发设备从该mac地址中提取第1至第16个比特的内容“00-80”,得到用户设备c更新的初始掩码地址“00-80”。针对经纪商前置机的mac地址“00-01-6c-06-a0-29”,转发设备从该mac地址中提取第1至第16个比特的内容“00-01”,得到经纪商前置机更新的初始掩码地址“00-01”。4023:将每个用户设备的初始掩码地址分别作为每个用户设备的掩码地址。这里每个用户设备的掩码地址可以是首次执行4021后,即确定的任一个用户设备的初始掩码地址;也可以是若干次执行4021和4022后,确定的任一个用户设备的更新后的初始掩码地址。以转发设备将上述用户设备a、b、c和经纪商前置机更新后的初始掩码地址作为掩码地址为例,可以在表1基础上,建立各个掩码地址和端口号之间的对应关系,如表2所示。转发设备还可以参照表2保存用于提取各个用户设备掩码地址的模板掩码。模板掩码例如可以称为正向模板掩码。正向模板掩码也可以采用其他保存形式,例如可以保存为ff-ff,此时还需约定提取的开始位。表2可选地,转发设备在执行4021和/或4022,为每个用户设备确定不同的初始掩码地址后,可以不执行4023,而是执行以下操作4024-4026。4024:针对与转发设备相连的任一个用户设备,转发设备从该任一个用户设备的初始掩码地址中提取第t至第j个比特的内容,得到该任一个用户设备的第二掩码地址,t的初值为大于1且小于j的整数。可选的,t的初值可以为(j-7)等。例如,对于表2中列出的各个掩码地址,对应的j的取值为16(2进制下),j即为掩码地址的比特位长度。假设t的初值为9,针对用户设备a的初始掩码地址“00-00”,转发设备从该初始掩码地址中提取第9至第16个比特的内容“00”,得到用户设备a的第二掩码地址“00”。针对用户设备b的初始掩码地址“28-6e”,转发设备从该初始掩码地址中提取第9至第16个比特的内容“6e”,得到用户设备b的第二掩码地址“6e”。针对用户设备c的初始掩码地址“00-80”,转发设备从该初始掩码地址中提取第9至第16个比特的内容“80”,得到用户设备c的第二掩码地址“80”。针对经纪商前置机的初始掩码地址“00-01”,转发设备从该初始掩码地址中提取第9至第16个比特的内容“01”,得到经纪商前置机的第二掩码地址“01”。所述提取操作例如仍可以采用模板掩码的方式。4025:转发设备检测每个用户设备的第二掩码地址是否均不同,如果均不同,则执行4026,如果存在任意两个用户设备的第二掩码地址相同,设置t=t-q,q为大于或等于1且小于或等于(j-1)的整数,返回执行4024。可选的,q的初值为6、8或10等。例如,参见下表3,用户设备a的第二掩码地址“00”,用户设备b的第二掩码地址“6e”,用户设备c的第二掩码地址“80”,经纪商前置机的第二掩码地址“01”均不同。所以用户设备a的掩码地址可以为“00”,用户设备b的掩码地址可以为“6e”,用户设备c的掩码地址可以为“80”,经纪商前置机的掩码地址可以为“01”。表34026:如果检测出每个用户设备的第二掩码地址均不同时,此时将每个用户设备的第二掩码地址分别作为每个用户设备的掩码地址。例如,在表1基础上,建立各个掩码地址和端口号之间的对应关系,如表3所示。可选地,表3中还可以保存用于提取该4个掩码地址的模板掩码,该模板掩码可以称为最小模板掩码。例如,用于提取表3示出的掩码地址的最小模板掩码为00-ff-00-00-00-00。最小模板掩码也可以采用其他保存形式,例如最小模板掩码可以保存为00-ff,此时还需约定提取的开始位。可以理解地,在一些情形下,由于t和q的具体取值,使用最小模板掩码提取的掩码地址可能并非绝对最小,而是相对于利用正向模板掩码得到的掩码地址而言相对更小。所述转发设备确定所述更新后的多个第二掩码地址为所述多个掩码地址。可以理解的,以上通过执行4021-4026中的多个操作以确定掩码地址的操作仅作为一种可能的实现方式,可替换地,也可以采用其他已有的、用于确定多个不同比特位串的算法,计算并确定多个掩码地址。s403:转发设备根据每个用户设备的掩码地址和每个用户设备对应的端口号,建立映射关系,该映射关系为掩码地址与端口号的对应关系,或掩码地址的哈希值与端口号的对应关系。该映射关系有如下第一和第二两种形式,该第一和第二两种形式分别为:第一种形式,对于该掩码地址与端口号的映射关系中的任一条映射关系,转发设备的存储器包括该任一条映射关系中的掩码地址对应的存储空间,该存储空间用于存储该任一条映射关系中的端口号。或者,对于该哈希值与端口号的映射关系中的任一条映射关系,转发设备的存储器包括该任一条映射关系中的掩码地址的哈希值对应的存储空间,该存储空间用于存储该任一条映射关系中的端口号。对于第一种形式的映射关系,转发设备建立该映射关系的过程,可以为:对于与转发设备相连的任一个用户设备,转发设备将该任一个用户设备的掩码地址作为转发设备的存储器包括的一个存储空间的存储地址,转发设备根据该存储空间的存储地址,将该任一个用户设备对应的端口号保存到该存储空间中。或者,转发设备根据哈希因子对该任一个用户设备的掩码地址进行哈希运算,得到哈希值,将该哈希值作为转发设备的存储器包括的一个存储空间的存储地址,转发设备根据该存储空间的存储地址,将该任一个用户设备对应的端口号保存到该存储空间中。该哈希值的长度小于该掩码地址。在某些情形下,虽然计算得到的用户设备的掩码地址较原始mac地址的长度有所缩短,但得到的掩码地址的绝对长度仍然较大,由此可能导致掩码地址的长度超出了存储器允许的存储地址的最大长度,从而无法将与转发设备相连的每个用户设备对应的端口号保存到存储器中,出现了存储出错的现象。因此在本操作中,可以计算出掩码地址的哈希值,由于哈希值的长度小于该掩码地址的长度,将该哈希值作为存储地址,这样可以避免超出了存储器允许的最大存储地址长度的情况发生,避免发生出错现象。需要说明的是,在某些情形下,对多个掩码地址进行哈希运算后,得到的多个哈希值之间可能存在冲突。因此,当转发设备发现存在哈希冲突时,可以修改模板掩码以重新确定更新的多个掩码地址,并进行哈希运算,以保证最终存储的各个哈希值之间不存在冲突。第二种形式,该掩码地址与端口号的映射关系是一个映射关系表,该映射关系表可以保存在转发设备的存储器。该映射关系表中的任一条记录包括一个用户设备的掩码地址和该一个用户设备对应的端口号。或者,该哈希值与端口号的映射关系是一个映射关系表,该任一条记录包括一个用户设备的哈希值和该一个用户设备对应的端口号。对于第二种形式的映射关系,转发设备建立该映射关系的过程,可以为:对于与转发设备相连的任一个用户设备,转发设备将该任一个用户设备的掩码地址和该任一个用户设备对应的端口号,对应保存到掩码地址与端口号的映射关系中。或者,转发设备根据哈希因子对该任一个用户设备的掩码地址进行哈希运算,得到该掩码地址的哈希值,将该哈希值和该任一个用户设备对应的端口号对应保存到哈希值与端口号的映射关系表中。例如,用户设备a的掩码地址为“00”以及用户设备a对应的端口号为a,将掩码地址“00”和端口号a对应保存在如下表4所示的掩码地址与端口号的映射关系中。用户设备b的掩码地址为“6e”以及用户设备b对应的端口号为b,将掩码地址“6e”和端口号b对应保存在如下表2所示的掩码地址与端口号的映射关系中。用户设备c的掩码地址为“80”以及用户设备c对应的端口号为c,将掩码地址“80”和端口号c对应保存在如下表2所示的掩码地址与端口号的映射关系中。经纪商前置机的掩码地址为“01”以及经纪商前置机对应的端口号为d,将掩码地址“01”和端口号d对应保存在如下表4所示的掩码地址与端口号的映射关系中。表4掩码地址端口号00a6ebc2c01d需要说明的是,除保存掩码地址和端口号之间的映射关系外,转发设备还可以一并保存如表2和表3示出的原始mac地址,以及用于提取掩码地址的模板掩码等。可选的,上述s401至s403的操作在转发设备的控制面执行,即可以由转发设备的处理器执行上述s401至s403的操作。通过上述操作建立的掩码地址和端口号等信息的映射关系(如表2-4)可以作为一级mac地址表(level1mactable,l1mt),而原始的mac地址表和端口号等信息的映射关系(如表1)可以作为二级mac地址表(level2mactable,l2mt)保存。l1mt和l2mt可以由控制面发送至转发面进行保存,以实现后续转发面基于l1mt和/或l2mt的报文转发。在本申请实施例中,转发设备获取与转发设备相连的每个用户设备的mac地址和每个用户设备对应的端口号,从每个用户设备的mac地址中提取第i至第j个比特的内容,得到每个用户设备的掩码地址,根据该每个用户设备的掩码地址和每个用户设备对应的端口号,建立掩码地址与端口号的映射关系,或者,建立哈希值与端口号的映射关系。在建立完该映射关系后,转发设备在接收到报文时,可以直接从该报文的用户设备的mac地址中提取掩码地址,根据用户设备的掩码地址和该映射关系,向用户设备发送该报文。从用户设备的mac地址中提取用户设备的掩码地址所需要的运算量,远小于对用户设备的mac地址进行哈希运算所需要的运算量,减小了对转发设备的运算资源的消耗。参见图5,本申请实施例提供了一种发送报文的方法,该方法可以应用于上述图1或图2所示的网络架构中,该方法的执行主体可以为上述图1至3所示的任一实施例提供的转发设备。s501:转发设备接收第一报文,第一报文包括第一用户设备的第一mac地址。其中,第一mac地址可以为第一报文的目的mac地址。第一报文还可以包括第二用户设备的第二mac地址,第二mac地址为第一报文的源mac地址。与转发设备相连的一个用户设备中存在需要发送给与转发设备相连的另一个用户设备的第一报文时,该一个用户设备先向转发设备发送第一报文,第一报文包括第一用户设备的第一mac地址和第二用户设备的第二mac地址,第二用户设备的第二mac地址是该一个用户设备的mac地址,第一用户设备的第一mac地址是该另一个用户设备的mac地址。例如,参见图3,假设经纪商前置机存在需要发送给用户设备a的第一报文,第一报文可以是经纪商前置机接收来自交易所内部网络的报文,第一报文中包括的第一用户设备的第一mac地址为用户设备a的mac地址“00-00-5e-00-01-01”,第一报文包括的第二用户设备的第二mac地址为经纪商前置机的mac地址“00-01-6c-06-a0-29”。经纪商前置机先向转发设备发送第一报文。在s501中,转发设备可以通过一个端口采用串行方式接收第一报文。第一报文中的第一mac地址包括k个比特,所以转发设备需要一段时间才能接收完整个第一mac地址。s502:转发设备根据第一mac地址确定第一用户设备的第一掩码地址,第一掩码地址是第一mac地址中的第i至第j个比特的内容。在s502中,转发设备将模板掩码和第一mac地址进行与运算,得到第一掩码地址。为提取用户设备a的mac地址的掩码,可以使用如表2或表3示出的模板掩码等。由于转发设备采用串行方式接收第一报文中的第一mac地址。所以转发设备在接收第一mac地址时,可以对已接收第一mac地址的内容进行统计,在接收到第一mac地址的第1至第j个比特的内容时,从第1至第j个比特的内容中提取第一掩码地址。这样不用等待完接收完整个第一mac地址,就可以通过如下s503的操作来发送第一报文,提高了发送第一报文的效率。例如,j=16,转发设备通过端口d接收经纪商前置机发送的第一报文,当接收到第一报文中的第一mac地址的第1至第16个比特的内容时,该第1至第16个比特的内容为“00-00”,将该内容“00-00”与最小模板掩码“00-ff-00-00-00-00”,或“00-ff”进行与运算,得到第一掩码地址“00”。s503:转发设备根据第一掩码地址,向第一用户设备发送第一报文。在s503中,在掩码地址与端口号的映射关系为上述第一种形式的映射关系的情况下,转发设备将第一掩码地址作为转发设备的存储器包括的一个存储空间的存储地址,根据该存储地址,从该存储空间中读取第一用户设备对应的第一端口号,根据第一端口号向第一用户设备发送第一报文。或者,在哈希值与端口号的映射关系为上述第一种形式的映射关系的情况下,转发设备对第一掩码地址进行哈希运算,得到哈希值,将该哈希值作为转发设备的存储器包括的一个存储空间的存储地址,根据该存储地址,从该存储空间中读取与第一用户设备对应的第一端口号,根据第一端口号向目的设备发送第一报文。或者,在掩码地址与端口号的映射关系为上述第二种形式的映射关系的情况下,掩码地址与端口号的映射关系为一个映射关系表,该映射关系中的任一条记录包括一用户设备的掩码地址和该一用户设备对应的端口号。相应的,转发设备根据第一用户设备的第一掩码地址,该映射关系中获取第一用户设备对应的第一端口号,根据第一端口号向第一用户设备发送第一报文。或者,在哈希值与端口号的映射关系为上述第二种形式的映射关系的情况下,该映射关系中的任一条记录包括一用户设备的哈希值和该一用户设备对应的端口号。相应的,转发设备根据哈希因子对第一用户设备的第一掩码地址进行哈希运算,得到哈希值,根据该哈希值,从该映射关系中获取第一用户设备对应的第一端口号,根据第一端口号向第一用户设备发送第一报文。例如,转发设备根据第一用户设备(用户设备a)的第一掩码地址“00”,如表2所示的映射关系中获取第一用户设备对应的第一端口号为a,根据第一端口号a向第一用户设备(用户设备a)发送第一报文。需要说明的是,虽然转发设备在仅确定出第一掩码地址时,即可查询l1mt进行报文的快速转发,该l1mt例如可以存储在转发面,l1mt可以为上述表2至4,可以为掩码地址与端口号之间的映射关系,或者,掩码地址的哈希值与端口号之间的映射关系。如图6所示,在一些可能的情形中,转发设备在接收到完整目的mac地址与源mac地址之后,还可以使用完整mac地址查找l2mt,该l2mt例如可以存储在转发面,l2mt表可以为上述表1,即可以为mac地址信息表。使用源mac地址在l2mt中查表时,如发现未知mac地址,例如可以上报控制面cpu,cpu将根据mac地址掩码建立规则,更新mac地址及其对应的掩码地址之间的对应关系,并更新l1mt。或者,转发设备在接收到完整的mac地址后,在查询l2mt时,若发现l2mt中的目的端口号与l1mt表中相应的目的端口号不同,也可以由转发面通知控制面cpu,对相应l1mt中对应表项进行更新。由此,转发设备一方面可以利用l1mt实现报文的快速转发,另一方面,可以利用l2mt对未知mac地址进行建表,或者对l1mt进行纠错等。详细实现可以通过如下5031至5034的操作来实现。该5031至5034的操作可以分别为:5031:转发设备在接收完第一报文中的第二用户设备的第二mac地址(源mac地址)的情况下,获取接收第一报文的端口的端口号,为了便于说明称为第二端口的端口号。例如,转发设备通过端口d接收经纪商前置机发送的报文,即端口d为第二端口。本操作可以在转发设备的转发面上执行,即可以由转发设备的转发芯片接收第二mac地址,以及获取第二端口的端口号。5032:转发设备的转发面使用源mac地址在l2mt中查表,如果发现未知mac地址,将该源mac地址和第二端口的端口号上报给转发设备的控制面。l2mt用于保存用户设备的mac地址与端口号之间的对应关系,位于转发面的转发芯片根据源mac地址信息查询l2mt,如果查询出l2mt中不包括该源mac地址,即发现了未知mac地址,然后将源mac地址和第二端口的端口号上报给转发设备控制面的处理器(可以为cpu)。5033:转发设备的处理器将源mac地址和第二端口的端口号对应保存在l2mt中。以及,从源mac地址中提取第二掩码地址,在l1mt不包括第二掩码地址或第二掩码地址的哈希值的情况下,更新l1mt,结束。l1mt可以为掩码地址与端口号之间的映射关系,或者,可以为掩码地址的哈希值与端口号之间的映射关系。l1mt可以为上述第一种形式的映射关系或第二种形式的映射关系。在l1mt为上述第一种形式的映射关系,且l1mt为掩码地址与端口号之间的映射关系的情况下,转发设备的处理器将第二掩码地址作为存储地址。如果该存储地址对应的存储空间中没有保存端口号,表示在l1mt中不包括第二掩码地址,将第二端口的端口号保存到该存储空间中。如果该存储地址对应的存储空间中保存有端口号,表示在l1mt中包括第二掩码地址。或者,在l1mt为上述第一种形式的映射关系,且l1mt为掩码地址的哈希值与端口号之间的映射关系的情况下,转发设备的处理器根据哈希因子对第二掩码地址进行哈希运算。得到第二掩码地址的哈希值,将该哈希值作为存储地址,如果该存储地址对应的存储空间中没有保存端口号,表示在l1mt中不包括第二掩码地址的哈希值,将第二端口的端口号保存到该存储空间中。如果该存储地址对应的存储空间中保存有端口号,表示在l1mt中包括第二掩码地址的哈希值。在l1mt为上述第二种形式的映射关系,且l1mt为掩码地址与端口号之间的映射关系的情况下,l1mt为一个映射关系表,转发设备的处理器判断l1mt是否保存有第二掩码地址,如果没有保存,则将第二掩码地址和第二端口的端口号对应保存到l1mt中。或者,在l1mt为上述第二种形式的映射关系,且l1mt为掩码地址的哈希值与端口号之间的映射关系的情况下,l1mt为一个映射关系表,转发设备根据哈希因子对第二掩码地址进行哈希运算,得到第二掩码地址的哈希值。转发设备判断l1mt是否保存有第二掩码地址的哈希值,如果没有保存,将第二掩码地址的哈希值和第二端口的端口号对应保存到l1mt中。在l1mt包括第二掩码地址或第二掩码地址的哈希值的情况下,说明采用当前模板掩码对所述未知mac地址做运算后,得到的掩码地址与l1mt中已存储的多个掩码地址中的一个存在冲突,此种情形下,转发设备需要重新执行图4所示的实施例,来重新建立l1mt。可选的,在5032的操作中,转发设备的转发面如果发现源mac地址不是未知mac地址,将l2mt中保存的源mac地址对应的端口号和第二端口的端口号进行比较,如果两者不同,上报给转发设备控制面的处理器,对相应l1mt中对应表项进行更新。详细实现如下:转发设备的处理器可以从源mac地址中提取第二掩码地址。在l1mt为上述第一种形式的映射关系,且l1mt为掩码地址与端口号之间的映射关系的情况下,转发设备的处理器将第二掩码地址作为转发设备的存储器包括的一个存储空间的存储地址,将该存储地址对应的存储空间中保存的端口号更新为第二端口的端口号。或者,在l1mt为上述第一种形式的映射关系,且l1mt为掩码地址的哈希值与端口号之间的映射关系的情况下,转发设备的处理器根据哈希因子对第二掩码地址进行哈希运算,得到第二用户设备的哈希值,将该哈希值作为转发设备的存储器包括的一个存储空间的存储地址,将该存储地址对应的存储空间中保存的端口号更新为第二端口的端口号。在l1mt为上述第二种形式的映射关系,且l1mt为掩码地址与端口号之间的映射关系的情况下,l1mt为一个映射关系表,转发设备的处理器将l1mt中保存的第二掩码地址对应的端口号更新为第二端口的端口号。或者,在l1mt为上述第二种形式的映射关系,且l1mt为掩码地址的哈希值与端口号之间的映射关系的情况下,l1mt为一个映射关系表,转发设备的处理器根据哈希因子对第二掩码地址进行哈希运算,得到第二掩码地址的哈希值,将该l1mt中保存的与第二掩码地址的哈希值相对应的端口号更新为第二端口的端口号。可选的,在l2mt中保存的源mac地址对应的端口号和第二端口的端口号不同的情况下,还将l2mt中保存的源mac地址对应的端口号更新为第二端口的端口号。在本申请实施例中,转发设备在接收到第一报文时,可以直接从第一报文的第一mac地址中提取第一掩码地址,根据第一掩码地址,向第一用户设备发送第一报文,由此避免了对第一mac地址进行哈希运算及解决可能产生的哈希冲突所需要的运算量,减小了对转发设备的运算资源的消耗。另外,转发设备接收报文的过程中,可以在并在未完全接收到全部mac地址,而仅接收到第一mac地址中的第1至第j个比特的内容时,就可以从该内容中提取第i到j位以得到第一掩码地址,并且直接根据第一掩码地址搜索l1mt中的对应表项以完成转发,而无需等待接收到全部mac地址,从而可以提高发送第一报文的效率。参见图7,本申请实施例提供了一种发送报文的装置700,所述装置700可以部署在上述任一实施例的转发设备上,例如可以部署在图4所示的实施例或图5所示的实施例中的转发设备上,包括:接收单元701,用于接收第一报文,第一报文包括第一用户设备的第一媒体介入控制层mac地址;处理单元702,用于根据第一mac地址确定第一用户设备的第一掩码地址,第一掩码地址是第一mac地址中的第i至第j个比特的内容,i和j均为大于0的整数,i<j≤k,k为第一mac地址包括的总比特数,第一掩码地址的比特数小于k;发送单元703,用于根据第一掩码地址,向第一用户设备发送第一报文。可选的,处理单元702确定第一掩码地址的详细实现过程,可以参见图5所示的实施例中的s502中的相关内容。以及,发送单元703发送第一报文的详细实现过程,可以参见图5所示的实施例中的s503中的相关内容。可选的,所述装置700包括第一掩码地址与第一端口号的映射关系,处理单元702,用于根据第一掩码地址,从该映射关系中获取第一端口号;发送单元703,用于根据第一端口号,向第一用户设备发送第一报文。可选的,处理单元702获取第一端口号的详细实现过程,可以参见图5所示的实施例中的s503中的相关内容。可选的,所述装置700与多个用户设备连接,该多个用户设备包括多个mac地址,该多个用户设备包括第一用户设备,处理单元702,还用于从多个mac地址中分别提取第i至第j个比特的内容,确定与该多个mac地址对应的多个掩码地址,该多个掩码地址均不相同,该多个掩码地址用于向该多个用户设备发送报文,该多个掩码地址包括第一掩码地址。可选的,处理单元702确定多个掩码地址的详细实现过程,可以参见图4所示的实施例中的s402中的相关内容。可选的,处理单元702,用于:从该多个mac地址中分别提取第1至第j个比特的内容,确定与该多个mac地址对应的多个初始掩码地址,j的初值为大于1且小于k的整数;在该多个初始掩码地址中任意两个初始掩码地址均不相同时,确定该多个初始掩码地址为该多个掩码地址。可选的,处理单元702确定多个初始掩码地址的详细实现过程,可以参见图4所示的实施例中的4021-4022中的相关内容。可选的,处理单元702,还用于:在该多个初始掩码地址中存在任意两个初始掩码地址相同时,设置j=j+n,n为大于或等于1且小于或等于47的整数,循环执行从该多个mac地址中分别提取第1至第j个比特的内容,直至确定该多个掩码地址。可选的,j的初值为8,n为8。可选的,处理单元702,用于:在该多个初始掩码地址中存在任意两个初始掩码地址相同时,设置j=j+n,n为大于或等于1且小于或等于47的整数,循环执行从该多个mac地址中分别提取第1至第j个比特的内容,直至确定多个第一掩码地址,该多个第一掩码地址均不相同,该多个第一掩码地址的比特数为j;从该多个第一掩码地址中分别提取第t至第j个比特的内容,确定与该多个第一掩码地址对应的多个第二掩码地址,t的初值为大于1且小于j的整数;当任意两个第二掩码地址均不相同时,确定该多个第二掩码地址为该多个掩码地址。可选的,处理单元702确定多个第二掩码地址的详细实现过程,可以参见图4所示的实施例中的4024-4026中的相关内容。可选的,处理单元702,还用于:在任意两个第二掩码地址相同时,设置t=t-q,q为大于或等于1且小于或等于(j-1)的整数,循环执行从该多个第一掩码地址中分别提取第t至第j个比特的内容,直至确定更新后的多个第二掩码地址均不相同,其中更新后的多个第二掩码地址的最高位为该多个mac地址中的第i位;确定更新后的多个第二掩码地址为该多个掩码地址。可选的,t的初值为(j-7),q为8。可选的,处理单元702,还用于根据哈希因子对第一掩码地址进行哈希运算,确定第一掩码地址的第一哈希值;发送单元703,用于根据第一掩码地址的第一哈希值,向第一用户设备发送第一报文。可选的,所述装置700与多个用户设备连接,该多个用户设备包括多个mac地址,该多个用户设备包括第一用户设备,处理单元702,还用于:从该多个mac地址中分别提取第i至第j个比特的内容,确定与该多个mac地址对应的多个掩码地址,该多个掩码地址均不相同,该多个掩码地址包括第一掩码地址;根据该哈希因子,对该多个掩码地址进行哈希运算,确定该多个掩码地址的多个哈希值,该多个哈希值包括第一哈希值;保存该多个哈希值与多个端口号之间的映射关系,该多个端口号用于发送该多个用户设备的报文。可选的,处理单元702确定该多个掩码地址的多个哈希值的详细实现过程,可以参见图4所示的实施例中的s403中的相关内容。可选的,所述装置700包括mac地址信息表,mac地址信息表包括该多个mac地址,第一报文还包括第二用户设备的第二mac地址,第二mac地址不属于该mac地址信息表,处理单元702,还用于:根据第二mac地址不属于mac地址信息表,从第二mac地址中提取第二用户设备的第二掩码地址,第二掩码地址是第二mac地址中的第i至第j个比特的内容;保存第二掩码地址。可选的,处理单元702,还用于:在确定与第一用户设备对应的端口号由第一端口号变为第二端口号时,在该映射关系中将与第一掩码地址相对应的端口号更新第二端口号。可选的,处理单元702,用于:将模板掩码和该多个mac地址分别进行与运算,得到该多个掩码地址,该模板掩码包括k个比特,该模板掩码中的第1至第j个比特均为比特值1,该模板掩码中的其他比特均为比特值0。可选的,接收单元701,用于接收第一报文的一部分,第一报文的一部分包括第一mac地址的第1至第j个比特的内容;处理单元702,用于在仅接收到第一mac地址的第1至第j个比特的内容时,确定第一掩码地址。可选的,处理单元702确定第一掩码地址的详细实现过程,可以参见图5所示的实施例中的s502中的相关内容。在本申请实施例中,由于处理单元根据第一mac地址确定第一用户设备的第一掩码地址,而第一掩码地址是第一mac地址中的第i至第j个比特的内容,所以处理单元不需要等待接收单元接收完全第一mac地址,就可以确定第一掩码地址,所以处理单元不需要对全第一mac地址进行哈希运算并查表,从而可以减小时延,提高发送报文的效率。另外,根据第一mac地址确定第一用户设备的第一掩码地址所需要的运算量小于对第一mac地址进行哈希运算,从而减少了在发送报文时所消耗的转发设备的运算资源。本领域普通技术人员可以理解实现上述实施例的全部或部分操作可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1