广东省新一代通信与网络创新研究院 陈钦树 卢 华 段雪飞
5G及后5G时代,各种新业务对网络带宽,网络时延及网络成本等需求千差万别,因此要求网络中的核心交换设备具有可编程性。现有的实现方案不论采用网络处理器方案来解析报文还是采用固定流水转发方案解析报文都不能满足5G及后5G新业务需求。本文提出了一种可编程的报文解析方案可以满足5G及后5G新业务快速部署,大容量,低延迟,低能耗的需求。
1.引言
随着通信网络技术向纵深发展,特别是5G移动互联网,物联网和电信级以太网技术逐渐成熟,产生了大量新业务接入到网络中,例如远程教育,远程医疗,数据中心,虚拟现实,移动支付,自动驾驶,人工智能和无人工厂等。现有TCP/IP的网络协议不能够满足新业务发展的需要,因此新业务可能会在原来的网络协议上新增一些字段来满足新业务的需要,或者干脆构建一套新的协议来满足新业务的发展。图1 报文解析树
2.可编程报文解析原理
可编程报文解析装置主要功能是根据用户配置的报文解析数据库和输入的报文按照报文解析数据的配置数据解析报文,并把报文中的关键字段搬移到描述符总线上。其解析原理是根据当前报文在解析树的节点状态和报文中提取的匹配字来确定报文在解析树的下一个节点(即下一个状态),然后跳转到解析树的新的节点后根据新节点的状态和报文中下一个需要匹配的关键字的内容确定报文在
• 164 •
解析树上需要到达的下一个节点(即下一状态),如此操作一直走到解析树的结束节点,如图1所示。
为了更好描述上面解析原理,本文用一个带CVLAN太网报文来描述解析过程为例,但是该原理适合任何报文包括新业务自定义的报文。首先初始状态为0,然后从报文提取出以太网类型字段,如果以太网类型字段为0x8100,那么下一个节点是CVLAN,并且状态值为2,然后报文跳转到解析树CVLAN的节点上。在CLAN的节点上,其状态值为2,然后从报文中提取出下一个以太网类型字段,同时提取出IP的版本号,然后查看以太网类型字段是否是0x0800,IP的版本字段是否为4,如果是就跳转到IPv4的节点,其状态值为3。在IPv4节点上提取IPv4报文的协议字段,查看协议字段是否为0x11,如果是则跳转到UDP节点,其状态为255。当检查到状态值为255表示解析结束的状态,至此完成了报文解析过程。
3.可编程报文解析装置实现
报文解析装置首先根据输入的端口寄存器获得一个初始状态值和四个初始偏移地址,根据初始偏移地址从报文中获取四个对应的字段,将这些字段和初始状态值拼接后查找报文解析数据库匹配规则表,如果查找命中匹配规则表的条目,则根据该条目的地址读解析数据库中的解析处理动作表获取下一个状态值next_state和四个偏移字段的地址key_offset,每个key_offset能够从报文头部提取一个字节数据。同时报文解析数据库给出了提取数据报文字段的偏移地址data_offset和data_length。data_length和data_offset一一对应,data_length两比特,指示data_offset提取的数据长度,可以是一个字节,两个字节,四个字节和六个字节。一次匹配可以最多可以获取八个有效的data_offset和data_length,也就是说可以从报文最多提取八个字段放到描述符总线上。根据匹配报文解析数据库获得的key_offset从报文中提取对应四个字节的关键字key_data,然后和本次查表获得next_state再一次查找报文解析数据库获得对应的查找结果,即下一个状态值next_state和四个偏移字段的地址key_offset,同时报文解析数据库给出了最多八个提取数据报文字段的偏移地址data_offset和data_length。根据data_offset和data_length从报文中提取最多八个关键字并存放到描述符总线上。然后重复上文描述的过程再一次去匹配报文解析数据库,一直到获得的next_state为255为止。由于报文解析数据库的内容都是软件可配置的,软件根据需要解析的报文的格式配置对应的报文解析数据库就可以实现任意报文的解析。
本文仍然以解析Eth_hearer+CVLAN+IPv4+UDP的报文为例描述如何根据解析数据库的配置解析报文,装置先根据端口配置的key_offset={12,13,14,15}从报文的第12,13,14,15字节的位置提取以
ELECTRONICS WORLD・技术交流太网类型字段key_data=0x8100和以太网类型字段后面的两个字节的内容,同时和端口配置的state=0一块查找报文解析数据库,在数据库中找到对应的条目{0x81,00,yy,yy,0}并同时获得了新的next_state=2,key_offset={4,5,6,7},其中匹配字段的中y表示不需要关心内容,为四比特宽度,内容可以使任意数据。查找同时获得最多八个data_offset字段和data_length,根据data_offset和data_length地址偏移提取报文的目的MAC地址,源MAC地址,VLAN tag(16比特的tag-id,3比特COS字段,1比特CF字段,12比特VLAN ID)存放到描述符总线上。将第一个key_offset=12保存到last_key_offset中,将next_state赋值给state。接着用key_offset中的四个偏移值分别和last_key_offset相加得到new_key_offset={16,17,18,19},同时将new_key_offset第一个地址保存到last_key_offset中,即last_key_offset=16。用new_key_offset作为地址从报文头中提取出以太网类型0x0800和IP版本号4的key_data={0x08,00,0x4y,yy}和state组合成一个条目{0x08,00,0x4y,yy,2}查找报文解析数据库。如果在报文解析数据库中查找到对应的条目,则获得本次查找的next_state=3,key_offset={11,12,13,14},并且根据data_offset和data_length将IP头的关键字段如目的IP地址,源IP地址,服务类型,上层协议等字段搬移到描述符总线上。接着将key_offset四个偏移地址分别和last_key_offset相加得到new_key_offset={27,28,29,30},同时将next_state赋值给state。根据new_key_offset从报文中提取出IP协议字段
{0x11,yy,yy,yy}和state组合成一个查找关键字{0x11,yy,yy,yy,3}查找报文解析数据库获得下一个状态为next_state=255,表示本次查找后就可以结束报文的解析了。同时获得了对应的data_offset和data_length,从报文头中将UDP源端口号和目的端口号搬移到描述符总线上并结束报文解析。
4.总结
本文提出了一种可编程报文解析方案,解决基于现在网络处理器架构无法满足低延迟,大容量交换的问题,也可以规避在基于固定流水转发不可编程无法满足新型业务快速部署的矛盾。通过软件编程可以根据业务的需要动态配置解析数据库实现报文智能解析,满足了5G及后5G新业务快速部署,大容量,低延迟,低能耗的需求。参考:王达,华为交换机学习指南:人民邮电出版社,2013;张国清,孙丽萍,交换与路由技术:构建园区网络:中国铁道出版社,2014;赵新胜,陈美娟,路由与交换技术:人民邮电出版社,2018。作者简介:陈钦树(1978—),男,广东潮州人,硕士研究生,高级工程师,广东省新一代通信与网络创新研究院芯片技术创新中心主任,主要研究方向:RISC处理器,通信芯片及新型网络架构及关键技术研究。
随着互联网时代的蓬勃发展,B/S(浏览器/服务器)模式已经被广泛应用于购物、培训、教育、医疗等等各种场景。而静态web页面已无法满足不同用户的定制需求,前后端交互场景由此诞生。但是,由于在交互场景下,存在频繁的数据传输,因此,如何在web页面提升用户体验已经成为留存用户及增加用户粘性的重要指标。
用ajax、axios或fetch向后台发送http异步请求,后台根据http请求及参数将相应的数据返回到web前台。Web前台在将获取到的数据显示于界面中。因此在交互场景下,只需要使用一套web前台就能满足不同用户的需求,大大满足了用户需求的多样性。
2.2 数据是动态获取,因此传输速度与数据量及网络环境有很大关系
由于数据是从后台获取后异步返回到前台,因此存在响应延迟是必然现象。而延迟大小则与传输数据量及网络环境有很大关系。在同等网络环境情况下,传输1K数据与传输1M数据延迟必然不同。传输等量数据,在2G/3G/4G/
试论web公安部第三研究所 李秀娜
1 交互场景下web页面的使用
交互场景下web页面的使用是互联网发展的产物。各服务提供商通过将服务部署到服务器,并将访问web页面的ip及端口映射到互联网,从而使用户通过web页面就能够访问到所需要的内容。与此同时,随着用户间交互信息及定制化需求的发展,一成不变的静态页面已经无法满足用户的需求,因此交互场景下web页面是互联网发展的必然产物。
2 交互场景下web页面使用的特点
2.1 不同用户可以根据自己的需求获取数据
不同于静态界面,交互场景下用户的数据是从后台获取的,不同用户可以根据自己的需求获取到不同数据。Web前台根据用户操作向后台发送http请求,请求使用GET/POST/DELETE/PUT等不同类型,同时通过url、body等传递参数,使
wifi环境下,延迟也各有差异。而在静态web界面情况下,由于没有前后台数据交互,因此不存在此种问题。2.3 web界面需要动态适配后台数据及不同的屏幕分辨率
由于web界面面向不同用户,而不
页面在交互场景下提升用户体验的技术研究• 165 •
因篇幅问题不能全部显示,请点此查看更多更全内容