时间: 2017-01-17 14:40 来源: 本站整理
分享到:
今天小编整理一篇Open vSwitch数据包处理流程介绍的文章和大家分享,希望能给大家提供帮助。
Open vSwitch数据包处理流程
OVS的主要功能是数据包的处理,它对数据包的处理分以下两个步骤:第一步是由内核空间的Datapath尝试直接对数据包进行转发操作;第二步是由用户空间和内核空间协同工作进行数据包处理。
OVS对数据包处理的第一步:当数据包到达内核时,内核模块提取数据包的关键信息查找Flow Table存储的流表项,若存在匹配的流表项则执行对应的流表项中的动作。如果流表中查找不到对应的流表项,OVS就无法再第一步中完成转发的处理,OVS将执行第二步操作,第二步的步骤是:当数据包到达Datapath时,FLow Table中查找不到对应的流表项,则将数据包从内核空间发送到用户空间进行处理。Vswitchd进程检索ovsdb获取数据包处理的相关flow信息,制定转发策略并通知给内核模块,同时vswitchd会设置流表项用于后续数据包的规则处理。当第一个数据包转发成功后内核模块会更新流表项,这样后续相同的数据包会按照相同的处理规则进行转发,避免再次发送到用户空间处理提高转发性能。
流表项中的action动作:
①output转发数据包到指定端口
②丢包
③发送到用户态
④Push/Pop VLAN tags
⑤Push/Pop MPLS标签
⑥Set-Queue: QoS
Open vSwitch数据包处理流程介绍的文章和大家分享结束,感谢阅读!
(责任编辑:大卫)分享到: