Archive

‘网络技术’ 分类存档

Building Sonic -VS

之前一直想自行编译下Sonic,但总是没时间。这次正好赶上准备Sonic培训,所以就尝试了下,虽然官方文档介绍的很简单,但编译过一遍才发现,还是有些麻烦的。本篇总结会从干净的Ubuntu系统入手,从头搭建编译环境,以及通过PNET加载编译好的Sonic-VS;下面是官方编译Guide:https://github.com/sonic-net/sonic-buildimage

文档内标注了不同版本的编译情况,这个可以点进去看编译状态,看时间应该是一直在更新以验证社区代码是Ok的:

完整阅读

部署透明代理服务器

最近需要手动Building一个vSonic,但默认环境无法访问外网,很多依赖关系无法解决,所以打算安装一个透明代理,让Building时走代理服务器。其实很早之前我就想在家里安装一个linux,用它来实现代理功能,这样干净好用。想法很简单,实现起来发现涉及很多问题,最终还是通过OpenWRT来实现这个需求。这里梳理下涉及的几种方法:

  1. 直接在Building Server上安装代理服务器,然后让流量走代理,具体可以参考这篇文章。这种方法如果只是实现HTTP,HTTPS代理,那没什么问题,但如果需要考虑APT,Docker,Docker Building等相关程序,那就需要在每个程序中单独指定代理,不同程序方法也不一样,不推荐。下面是参考文章中的几个关键步骤:
    • 在ubuntu上安装了xxx Client,去连接外网的kvm,此时是Socket5的代理;
    • HTTP无法使用Socket5的代理,因此通过Privoxy把Socket5转成HTTP的代理;
    • 最后把HTTP和HTTPS代理设置成Privoxy的端口;
  2. 同上面类似,但需要通过IPtables指向Privoxy的代理端口,这里有很多需要注意的地方,方法同第3种;
  3. 如果好几台Server都需要访问外网,那么都需要配置IPtables,这样会非常麻烦,可以把IPtables的配置挪到一台单独的代理服务器上,类似于家用的旁路由场景(后面单独一个章节介绍这种方法,虽然没成功,有时间了可以继续研究);
  4. 最后一种最简单,直接使用OpenWRT来完成繁琐的IPtables操作,由于OpenWRT已经非常成熟,很多配置都会默认自动加载,通过这个来完成此需求(后面单独一个章节介绍这种方法,成功);
完整阅读

“在100Gbps网络中TCP单流能跑到多少?”引起的讨论

这两天看到一篇华为的《智能无损网络技术白皮书》,里面有这么一句,如下:

由于不知道得出这些数据是在什么场景下,所以先不管这些数据是否精准。主要比较好奇TCP单流为什么上不去?瓶颈在哪里?是否可以通过优化来提升性能?根据这些问题进行了一系列的学习和讨论,这篇文章主要记录现阶段的一些结论汇总,并梳理了之前常用技术的前世今生,打通了整个脉络。在此也感谢服务器大佬的指点。本文只讨论Linux服务器的性能,不包含网络产生的瓶颈,内容随时更正并补充。

完整阅读

Soft-RoCE初体验

之前建了两台VM,测试了下Soft-RoCE,但当时忘记抓包了,想打开再发些流量,发现详细步骤已经忘记了。。。所以这次还是把步骤记录下来,后面不断完善,防止下次忘记。

Topology

注:为了避免麻烦,我使用的是比较新的ubuntu 22.04.2,这里面自带iproute2和perftest,以及相应的Soft-RoCE的包;

                     192.168.123.130
┌────────────┐             ┌────────────┐
│ ubuntu1    ├─────────────┤ ubuntu2    │
│ rdma1      │             │ rdma2      │
└────────────┘             └────────────┘
    192.168.123.129

部署Soft-RoCE

完整阅读

SRv6 Fabric by Sonic Switch

最近看到老东家发布了一篇很有意思的文章:Building an SRv6 uSID Data Center Fabric with SONiC,使用Sonic 构建基于SRv6 Fabric的DC架构。SRv6一般常用于骨干网和DCI,并且需要依托于BGP -> IGP迭代。其实之前在考虑城域网架构时,就思考过是否可以利用SRv6的高级特性,根据业务需求分割两个平面进行独立承载,但设备厂商提供的解决方案都是依托于IGP,而非Only BGP环境。最近阿里云在一些场合发布他们新的Peering架构ePF时提到过SRv6 only BGP,再结合这篇文章,没想到提前在Sonic Switch上先实现了,真的让人惊讶与开源社区的迭代速度。

这篇文章主要尝试下Sonic Switch,记录遇到的问题及解决方法。并测试SRv6实现到了什么程度,是否可以直接替代现有BGP Only的DC架构。PS:全部实验均是通过PNET搭建并验证,Sonic版本是从上面 那篇文章中下载的,基于202305版本,相关配置命令可以看那篇文章提到的github,以及FRR和Sonic的官方文档,为了方便,我列到了下面:

拓扑环境

      Ethernet0┌─────────┐Ethernet1
     ┌─────────┤   L2    ├──────────┐
     │         └─────────┘          │
     │Ethernet2                     │Ethernet2
┌────┴────┐                    ┌────┴────┐
│ POD1-L1 │                    │ POD2-L1 │
└────┬────┘                    └────┬────┘
     │Ethernet1                     │Ethernet1
     │                              │
     │Ethernet1                     │Ethernet1
┌────┴────┐                    ┌────┴────┐
│ POD1-L0 │                    │ POD2-L0 │
└────┬────┘                    └────┬────┘
     │Ethernet2                     │Ethernet2
     │                              │
     │eth2                          │eth0
 ┌───┴───┐                       ┌──┴────┐
 │  S1   │                       │  S2   │
 │ Server│                       │ Server│
 └───────┘                       └───────┘

注意:

完整阅读
blonde teen swallows load.xxx videos