第15期-直播回顾丨通过FD.io VSAP构建用户态协议栈

FD.io项目诞生于2016年2月,该项目提供了一个IO服务框架,迎接下一个网络和存储软件的浪潮。经过多年的发展,FD.io凭借高性能的代名词迅速成长为网络数据平面炙手可热的开源项目,FD.io内的开源生态也在逐渐丰富,用户态协议栈一直是大家很关心的话题,把协议栈构建在用户空间是协议栈实现的另一种思路,可以很大程度上减少操作系统的额外开销和内存拷贝开销,且定制灵活。

本周,在SDNLAB直播活动【 一期一会】中,英特尔资深软件工程师——虞平与大家进行了在线交流,分享有关通过FD.io VSAP构建用户态协议栈的主题,介绍FD.io社区中VSAP的架构,应用模型和性能数据,并提出用户态协议栈加速的总体解决方案。

(文末有PPT下载方式)

视频回顾和PPT分享

直播问题总结

Q:

build_in app是不是app逻辑和协议栈逻辑在一个进程内?build-in app是不是可以直接用rte_mbuf?

A:

是的,build_in app是和协议栈逻辑完全融合在一起构建的app。app的主要处理逻辑是接受协议栈的callback,可以参考echo server, 和echo client 进行编程。external app,也即VSAP项目的主要领域,是通过VPP协议栈去enable一个已有的app,如app,这类app因为本身有很大的关注度,不太可能通过build-in的办法来实现。

build-in app因为处理的是L4的协议,这种情况下不需要和底层的报文打交道,另外一方面,rte_mbuf是提供给DPDK处理的报文的数据结构,而VPP则使用了自己的vlib_buf来出来网络metadata,所以不能直接使用。

Q:

支持SCTP吗?

A:

支持的,VPP host stack提供了L4的多种协议,如TCP,UDP,SCTP,QUIC,甚至把TLS也作为一个session底层的transport 协议。

Q:

TCP的拥塞控制算法有哪些?可以做哪些优化?

A:

目前支持了Cubic,社区同时在加入BBR。目前VSAP的小包性能相对于内核有非常明显的提升,对于大报文,我们发现copy占比比较高,所以我们采用了CBDMA做了硬件级别的加速。

Q:

使用cut-through进行容器间通信,需要app改造吗?看到有ebpf上提速容器网络。ebpf和DPDK会不会竞争?

A:

如果采用LD_PRELOAD方式,对app不需要进行改造,但对app底层的链接库需要更改为vpp的库。用户态的cut-through是一个更高效的方式,和ebpf相比,不需要进行kernel,在用户层直接进行通信。

Q:

FD.io对开发者要求高吗?怎么参加这个开源项目?

A:

需要了解网络的基本概念、进程间通信,套接字编程等,参与这个项目的方式在第一页胶片中已经提及,具体的参与方式如下:

Wiki:

 https://wiki.fd.io/view/VSAP 

mailing list:

 https://lists.fd.io/g/vsap-dev 

若视频无法播放可扫描下方二维码,从B站观看

扫码关注【SDNLAB】公众号????,在后台回复第15期直播即可获取课件。

——————————————————————

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值