本发明涉及通信,具体而言,涉及一种报文处理方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、sfc(service function chain,业务功能链)又被称为业务链,是一种给应用层提供有序服务的技术,用来将网络设备上的服务在逻辑层面上联接起来,从而形成一个有序的服务组合。sfc通过在原始报文中添加业务链路径信息来实现报文按照指定的路径依次经过服务设备。nsh(network service header,网络服务报头)是实现业务链功能的一种方式。
2、数据中心业务链的应用场景中对qos(quality of service,服务质量)要求很高,需要低时延和无损传输,这其中就涉及到优先级映射和拥塞显示通告。而对于nsh方式,承载nsh报文的网络有多种,例如vlan网络、vxlan网络和普通路由网络。然而,现有技术无法对不含vxlan头和vlan tag的nsh报文做队列映射和拥塞标志,使得转发时需要解析内层报文,极大地降低报文转发效率。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种报文处理方法、装置、电子设备及计算机可读存储介质,其能够对不含vxlan头和vlan tag的nsh报文做队列映射和拥塞标志,改善报文转发效率低的问题。
2、为了实现上述目的,本发明实施例采用的技术方案如下:
3、第一方面,本发明实施例提供一种报文处理方法,应用于业务链转发域,所述业务链转发域包括分类器和转发节点,所述方法包括:
4、在接收到原始ip报文时,所述分类器对所述原始ip报文进行nsh封装,以在所述原始ip报文中添加nsh报文;
5、所述分类器获取所述原始ip报文的服务质量优先级,在所述nsh报文的队列映射字段中填入所述服务质量优先级对应的映射值,得到业务链报文,并将所述业务链报文传输至所述转发节点;
6、所述转发节点解析所述nsh报文的队列映射字段得到所述映射值,并将所述nsh报文映射到所述映射值对应的内部优先级队列中,以将所述业务链报文添加第一目标队列;
7、所述转发节点监测所述第一目标队列是否发生拥塞,若是,则更新所述nsh报文中的拥塞标志字段,以根据更新后的所述拥塞标志字段对生成原始ip报文的设备进行拥塞反馈;
8、其中,所述队列映射字段和所述拥塞标志字段均为所述nsh报文中预设的字段。
9、进一步地,所述业务链转发域还包括代理节点和终结节点,所述终结节点通过代理节点与多个第二服务器节点连接,所述方法还包括:
10、在对所述业务链报文完成第一增值服务时,所述转发节点将所述业务链报文发送至终结节点;
11、所述终结节点解析所述nsh报文的队列映射字段得到所述映射值,并将所述nsh报文映射到所述映射值对应的内部优先级队列中,以将所述业务链报文添加第二目标队列;
12、所述终结节点按序将所述第二目标队列中的业务链报文传输至所述代理节点,所述代理节点将所述业务链报文中的nsh报文剥掉后传输至所述第二服务节点,以对所述业务链报文进行第二增值服务;
13、所述终结节点监测所述第二目标队列是否发生拥塞,若是,则更新所述nsh报文中的拥塞标志字段,以根据更新后的所述拥塞标志字段对生成原始ip报文的设备进行拥塞反馈。
14、进一步地,所述方法还包括:
15、所述代理节点接收任一所述第二服务节点返回的已处理报文,对所述已处理报文进行nsh封装后发送至所述终结节点;
16、在对所述业务链报文完成第二增值服务时,所述终结节点将所述业务链报文还原为ip报文,并将所述ip报文转发至下一跳设备。
17、进一步地,所述将所述业务链报文还原为ip报文的步骤,包括:
18、将所述业务链报文中的所述nsh报文剥掉,得到原始ip报文,并根据所述nsh中的队列映射字段,对所述原始ip报文中的dscp字段进行更新;
19、根据所述nsh报文中的拥塞标志字段,对所述原始ip报文的ecn字段进行更新,得到ip报文。
20、进一步地,所述根据所述nsh报文中的拥塞标志字段,对所述原始ip报文的ecn字段进行更新,得到ip报文的步骤,包括:
21、判断所述拥塞标志字段是否表征发生拥塞,若否,则将原始ip报文的ecn字段保持不变;
22、若是,则在所述原始ip报文的ecn字段表征关注拥塞的情况下,根据所述拥塞标志字段,对所述ecn字段进行更新,以得到所述ip报文。
23、进一步地,所述在所述nsh报文的队列映射字段中填入所述服务质量优先级对应的映射值的步骤,包括:
24、根据预设的对应关系,确定所述服务质量优先级所对应的内部优先级的队列id,基于所述队列映射字段的比特位数量,将所述队列id转换为映射值。
25、进一步地,所述转发节点关联有多个第一服务节点;
26、在所述将所述nsh报文映射到所述映射值对应的内部优先级队列中,以将所述业务链报文添加第一目标队列的步骤之后,所述方法还包括:
27、所述转发节点按序将所述第一目标队列中的业务链报文传输至所述第一服务节点,以对所述业务链报文进行第一增值服务;
28、其中,所述第一增值服务包括安全检测和负载均衡。
29、第二方面,本发明实施例提供一种报文处理装置,应用于业务链转发域,所述业务链转发域包括分类器和转发节点,所述报文处理装置包括分类模块和转发模块;
30、所述分类模块,用于在接收到原始ip报文时,通过所述分类器对所述原始ip报文进行nsh封装,以在所述原始ip报文中添加nsh报文;
31、所述分类模块,还用于通过所述分类器获取所述原始ip报文的服务质量优先级,在所述nsh报文的队列映射字段中填入所述服务质量优先级对应的映射值,得到业务链报文,并将所述业务链报文传输至所述转发节点;
32、所述转发模块,用于通过所述转发节点解析所述nsh报文的队列映射字段得到所述映射值,并将所述nsh报文映射到所述映射值对应的内部优先级队列中,以将所述业务链报文添加第一目标队列;
33、所述转发模块,还用于通过所述转发节点监测所述第一目标队列是否发生拥塞,若是,则更新所述nsh报文中的拥塞标志字段,以根据更新后的所述拥塞标志字段对生成原始ip报文的设备进行拥塞反馈;
34、其中,所述队列映射字段和所述拥塞标志字段均由所述nsh报文中预设的字段。
35、第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如第一方面所述的报文处理方法。
36、第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的报文处理方法。
37、本发明实施例提供的报文处理方法、装置、电子设备及计算机可读存储介质,预先在nsh报文中预设队列映射字段和拥塞标志字段,业务链转发域的分类器对接收到的原始ip报文进行封装来添加nsh报文,在添加的nsh报文的队列映射字段中填入原始ip报文的服务质量优先级所对应的映射值,并将得到的业务链报文转发至转发节点,转发节点解析从nsh报文得到映射值,从而将nsh报文映射到映射值对的内部优先级队列,即将业务链报文添加至映射值对应的第一目标队列,进而转发节点对第一目标队列进行拥塞监测,并根据拥塞情况对nsh报文中的拥塞标志字段进行更新,以实现对不含vxlan头和vlan tag的nsh报文(nsh封装)做队列映射和拥塞标志,从而在业务链转发域中进行报文转发时,仅需解析nsh报文,无需解析内存ip报文,能够极大地提高报文转发效率。
38、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。