江中散人
在移动前端、微服务后端均有多年研发实施与团队管理经验,当选全球云原生技术基金会CNCF、信通院、华为云牵头组织的全球性云原生专业交流组织创原会2022年度与2023年度年度云原生MVP、2023年度云原生最佳创作奖。2023年新一代集中交易系统与国产集中式DB的软硬件联合调优方案,先后获得创原会2023年第三届“云原生技术先锋实践”奖,以及CNBPA的“最佳云原生行业实践奖”。相关技术博客积累超10年,技术领域涵盖云原生(容器/计算/存储/网络/PaaS/微服务/DevOps)、产品设计、IOS开发、Android开发、Hybrid混合开发等领域
展开
-
【云原生进阶之容器】第六章容器网络6.5.1--Calico网络方案综述
Calico是一个用于容器、虚拟机和基于本地主机的工作负载的开源网络和网络安全解决方案。Calico支持广泛的平台,包括Kubernetes、OpenShift、Docker EE、OpenStack和bare metal服务。Calico将灵活的网络功能与随处运行的安全实施相结合,提供了一个具有本地Linux内核性能和真正的云本地可伸缩性的解决方案。原创 2023-04-16 18:00:00 · 589 阅读 · 1 评论 -
【重识云原生】第四章云网络4.6节——Underlay 和 Overlay概念
Underlay/Overlay也已经成为了从理念到实践都不可或缺的一部分。在数据中心之内或者数据中心互联(DCI)的场景下,运营方先建立一个底层的Underlay网络骨架,再通过运行IP网络协议比如ISIS或者BGP,来保证各个在网硬件单元之间的可达性。然后,通过隧道封装的方式将二层报文进行封装后在现有网络中进行透明传输,到达目的地之后再解封装得到原始报文,相当于一个大二层网络叠加(overlay)在现有的网络之上。............原创 2022-06-18 08:30:00 · 2116 阅读 · 0 评论 -
【重识云原生】第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
近几年,软件定义网络(Software Define Network,SDN)技术的发展与成熟,使得网络虚拟化可以不再基于物理网络设备实现,大大扩展了网络虚拟化的“边界”。需要强调的是,SDN 不等于网络虚拟化,只是SDN 这种技术非常适合实现网络虚拟化。 笔者将介绍业界目前几种成熟的网络虚拟化技术,分别是网络设备虚拟化、链路虚拟化和虚拟网络,并探讨业界最新出现的基于SDN 技术的网络虚拟化技术,以及网络虚拟化对数据中心的影响。.........原创 2022-06-22 08:30:00 · 1472 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.10.4节——VXLAN报文转发过程
VXLAN 在 VTEP 间建立隧道,通过 Layer 3 网络传输封装后的 Layer 2 数据。原创 2022-06-14 03:30:00 · 1000 阅读 · 4 评论 -
【重识云原生】第四章云网络4.7.4节vhost-user方案——virtio的DPDK卸载方案
vhost-user 和 vhost_net 的实现原理是一样,都是采用 vring 完成共享内存,eventfd 机制完成事件通知。不同在于 vhost_net 实现在内核中,而 vhost-user 实现在用户空间中,用于用户空间中两个进程之间的通信,其采用共享内存的通信方式。.........原创 2022-06-26 09:00:00 · 1151 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
GR(Graceful Restart,平滑重启)是一种在主备切换或协议重启时保证转发业务不中断的机制。其核心在于:设备进行协议重启时,能够通知其周边设备,使到该设备的邻居关系和路由在一定时 间内保持稳定。在协议重启完毕后,周边设备协助其进行信息(包括支持GR的相关协议所维护的 各种拓扑、路由和会话信息)同步,在尽量短的时间内恢复到重启前的状态。在协议重启过程中不 会产生路由振荡,报文转发路径也没有任何改变,整个系统可以实现不间断运行。...原创 2022-06-08 20:30:00 · 825 阅读 · 0 评论 -
【重识云原生】第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
vDPA(vhost Data Path Acceleration)即是让virtio数据平面不需主机干预的解决方案。该框架由Redhat提出,实现了virtio数据平面的硬件卸载。控制平面仍然采用原来的控制平面协议,当控制信息被传递到硬件中,硬件完成数据平面的配置之后,数据通信过程由硬件设备(智能网卡)完成,虚拟机与网卡之间直通。中断信息也由网卡直接发送至虚拟机不需要主机的干预。......原创 2022-06-28 08:30:00 · 1666 阅读 · 0 评论 -
【重识云原生】第四章云网络4.8.2.1节——OpenFlow概述
2008年,斯坦福大学成立了一个名为Clean Slate的特别工作小组,这个小组在2009年开发出了一个可以满足SDN网络转控分离架构的标准,即OpenFlow 1.0。同时该小组还开发出了OpenFlow的参考交换机和NOX控制器。OpenFlow标准协议允许控制器直接访问和操作网络设备的转发平面,这些设备可以是物理设备,也可以是虚拟的路由器或者交换机。转发平面则采用基于流的方式进行转发。.........原创 2022-07-03 08:30:00 · 691 阅读 · 0 评论 -
【重识云原生】第四章云网络4.7.9节——NFV
NFV即网络功能虚拟化(Network Functions Virtualization),其借鉴了x86服务器的架构,它将路由器、交换机、防火墙、负载均衡这些不同的网络功能封装成独立的模块化软件,通过在硬件设备上运行不同的模块化软件,从而在单一硬件设备上实现多样化的网络功能。通过借用IT的虚拟化技术虚拟化形成VM(虚拟机,Virtual Machine),然后将传统的CT业务部署到VM上。 ......原创 2022-06-30 08:30:00 · 1555 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.10.3节——VXLAN隧道机制
“隧道”是一个逻辑上的概念,它并不新鲜,比如大家熟悉的GRE。说白了就是将原始报文“变身”下,加以“包装”,好让它可以在承载网络(比如IP网络)上传输。从主机的角度看,就好像原始报文的起点和终点之间,有一条直通的链路一样。而这个看起来直通的链路,就是“隧道”。顾名思义,“VXLAN隧道”便是用来传输经过VXLAN封装的报文的,它是建立在两个VTEP之间的一条虚拟通道。.........原创 2022-06-13 08:30:00 · 1211 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.7.6节——MP-BGP协议
传统的BGP-4只能管理IPV4的路由信息,对于使用其他网络层协议(如ipv6)的应用,在跨自治系统传播时就受到一定限制。为了提供对多种网络层协议的支持,IETF对BGP-4进行了扩展,形成MP-BGP,MP-BGP标准是RFC4760(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)。原创 2022-06-06 08:30:00 · 504 阅读 · 0 评论 -
【重识云原生】第四章云网络4.8.5节——OpenDayLight
OpenDayLight项目成立于2013年4月,是由Linux基金会管理管理的开源SDN项目。项目的目的是提供一个开放的,全功能的,厂商中立的SDN解决方案。目前ODL有超过40个公司作为成员,例如Cisco,IBM,Huawei等。.........原创 2022-07-09 08:00:00 · 699 阅读 · 2 评论 -
【重识云原生】第四章云网络4.3.7.5节——BGP协议实操
《重识云原生系列》专题索引:第一章——不谋全局不足以谋一域 第二章计算第1节——计算虚拟化技术总述 第三章云存储第1节——分布式云存储总述 第四章云网络第一节——云网络技术发展简述 第四章云网络4.2节——相关基础知识准备 第四章云网络4.3节——重要网络协议 第四章云网络4.3.1节——路由技术简述 第四章云网络4.3.2节——VLAN技术 第四章云网络4.3.3节——RIP协议 第四章云网络4.3.4节——OSPF协议 第四章云网络4.3.5节——EIGRP协议 第四章云网..原创 2022-06-06 09:00:00 · 723 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.3.1节——DPDK技术综述
数据平面开发套件(DPDK[1],Data Plane Development Kit)是由6WIND,Intel等多家公司开发,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。.........原创 2022-07-13 08:00:00 · 1228 阅读 · 1 评论 -
【重识云原生】第四章云网络4.9.4.2节——智能网卡实现
SmartNIC 就是通过从 Host CPU 上 Offload(卸载)工作负载到网卡硬件,以此提高 Host CPU 的处理性能。其中的 “工作负载” 不仅仅是 Networking,还可以是 Storage、Security 等。原创 2022-07-16 08:00:00 · 1136 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.6节——linux switchdev技术
Switchdev位于Linux内核层,它可以将内核的数据转发平面卸载到交换机的ASIC芯片上。通过这种方式,就可以用标准开放的Linux接口取代专有的SDK和NOS接口。Switchdev还规划了一个统一的接口,简化了集成、配置和支持的过程。与SONiC等NOS相比,Switchdev驱动的网络系统更加轻量级。智能网卡厂商也可以利用开放的Linux原生接口来实现对硬件的控制。Switchdev可以用来管理服务器端的网卡,配置物理端口和虚拟端口之间的通信。...原创 2022-07-21 08:00:00 · 569 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.10.6节——VXLAN应用部署方案
本篇我们以典型的“Spine-Leaf”数据中心组网为例,介绍VXLAN的应用场景和部署方案。原创 2022-06-16 08:30:00 · 1311 阅读 · 0 评论 -
【重识云原生】第四章云网络4.8.2.3节——OpenFlow运行机制
OpenFlow流表下发分为主动和被动两种机制:主动模式下,Controller将自己收集的流表信息主动下发给网络设备,随后网络设备可以直接根据流表进行转发。被动模式下,网络设备收到一个报文没有匹配的FlowTable记录时,会将该报文转发给Controller,由后者进行决策该如何转发,并下发相应的流表。被动模式的好处是网络设备无需维护全部的流表,只有当实际的流量产生时才向Controller获取流表记录并存储,当老化定时器超时后可以删除相应的流表,因此可以大大节省交换机芯片空间。......原创 2022-07-05 08:30:00 · 862 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.8节——策略路由
策略路由,是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。应用策略路由,必须要指定策略路由使用的路由图,并且要创建路由图。一个路由图由很多条策略组成,每个策略都定义了1 个或多个的匹配规则和对应操作。一个接口应用策略路由后,将对该接口接收到的所有包进行检查,不符合路由图任何策略的数据包将按照通常的路由转发进行处理,符合路由图中某个策略的数据包就按照该策略中定义的操作进行处理。原创 2022-06-07 08:30:00 · 356 阅读 · 0 评论 -
【重识云原生】第四章云网络4.7.2节——virtio网络半虚拟化简介
virtio由Rusty Russell开发,对准虚拟化 hypervisor 中的一组通用模拟设备IO的抽象。Virtio是一种前后端架构,包括前端驱动(Guest内部)、后端设备(QEMU设备)、传输协议(vring)。virtio是通用虚拟化框架,在Qemu-kvm中的I/O是用qemu 来模拟的,性能比较差,用virtio来模拟I/O可以进一步提升I/O虚拟化的性能。......原创 2022-06-24 08:30:00 · 913 阅读 · 0 评论 -
【重识云原生】第四章云网络4.7.8节——SR-IOV方案
SR-IOV是Single Root I/O Virtualization的缩写。SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到 I/O 设备。.........原创 2022-06-29 08:30:00 · 1128 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.4.3节——智能网卡使用场景-网络加速实现
以 FPGA 来实现 Smart NIC 举例,了解到底有什么网络功能任务是可以 Offload 到 Smart NIC 上进行处理的。并且,使用 FPGA 可以根据需要轻松添加、或删除这些功能。示例 1 到 13 说明了可以添加到 base NIC 的处理元素,以创建功能更加强大的 Smart NIC。......原创 2022-07-19 20:06:16 · 775 阅读 · 1 评论 -
【重识云原生】第四章云网络4.8.1节——SDN总述
软件定义网络SDN(Software Defined Network)是由美国斯坦福大学CLean Slate研究组提出的一种新型网络创新架构,可通过软件编程的形式定义和控制网络,其控制平面和转发平面分离及开放性可编程的特点,被认为是网络领域的一场革命,为新型互联网体系结构研究提供了新的实验途径,也极大地推动了下一代互联网的发展。.........原创 2022-07-01 08:30:00 · 961 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.2节——传统网络卸载技术
传统网络环境下,处理器需要处理诸如封装与卸载IP数据包、计算与检查校验和数值等网络任务。在拥有多个网络适配器的情况下,处理器会在这些任务上花费更多资源。卸载技术需要与操作系统相匹配,如Windows Server 2008 R2,可以把这类任务转交给网络适配器进行处理。卸载技术主要包含了校验、分割、传输控制协议栈(TCP)和接收端缩放(RSS)。一旦管理员理解了现今可用的卸载功能,他们便可以选择特定的网络适配器来满足企业IT环境需求。......原创 2022-07-11 21:05:56 · 888 阅读 · 1 评论 -
【重识云原生】第四章云网络4.7.6节——virtio-blk存储虚拟化方案
基于virtio的virtio-blk是KVM-Qemu虚拟化生态中的虚拟化块存储的一种实现方式,利用了virtio共享内存的机制,提供了一种高效的块存储挂载的方法。Guest OS内核通过加载virtio-blk驱动,实现块存储的读写,无需额外的厂家专用驱动。Virtio-blk设备在虚拟机以一个磁盘的方式呈现,是目前应用最广泛的虚拟存储控制器。.........原创 2022-06-27 08:30:00 · 1100 阅读 · 2 评论 -
【重识云原生】第四章云网络4.3.10.5节——VXlan组网架构
在VXLAN NVO3网络模型中,部署在VXLAN网络边缘的设备称为VXLAN NVE(Network Virtualization Edge,网络虚拟边缘),主要负责VLAN网络与VXLAN网络间的封装和解封装。经过NVE封装转换后,NVE间就可基于L3基础网络建立Overlay二层虚拟化网络。 .........原创 2022-06-15 08:30:00 · 1113 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.10节——VXLAN技术
VXLAN (Virtual eXtensible LAN,可扩展虚拟局域网络) 是一种Internet 标准重叠网络虚拟化技术,它提供了一种在 IP(第 3 层)网络上封装以太网(第 2 层)帧的方法,这一概念通常被称为“隧道”。VXLAN采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualization over Layer 3)中的一种网络虚拟化技术。............原创 2022-06-09 08:30:00 · 496 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.7.4节——BGP协议高级特性
为保证 IBGP 对等体之间的连通性,需要在 IBGP 对等体之间建立全连接关系。假设在一个 AS 内部有 n 台设备,那么建立的 IBGP 连接数就为 n(n-1)/2。当设备数目很多时,设备配置将十分复杂,而且配置后网络资源和 CPU 资源的消耗都很大。在 IBGP 对等体间使用路由反射器可以解决以上问题。 如图,在一个 AS 内部关于路由反射器有以下几种角色:路由反射器示意图 同一集群内的客户机只需要与该集群的 RR 直接交换原创 2022-06-06 08:30:00 · 439 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述
智能网卡(Smart NIC),也称智能网络适配器,除了能完成标准网卡所具有的网络传输功能之外, 还提供内置的可编程、可配置的硬件加速引擎,提升应用的性能和大幅降低CPU在通信中的消耗,为应用 提供更多的CPU资源。.........原创 2022-07-15 08:00:00 · 1473 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.1节——网络卸载加速技术综述
网络offload主要是指将原本在内核网络协议栈中进行的IP分片、TCP分段、重组、checksum校验等操作,转移到网卡硬件中进行,CPU的发包路径更短,消耗更低,提高处理性能。原创 2022-07-10 20:30:42 · 1045 阅读 · 0 评论 -
【重识云原生】第四章云网络4.8.4节——OpenStack与SDN的集成
OpenStack自己官方的网络项目是Neutron,Neutron有着自己的一套网络实现方案:基于linux namespace,构建一个个相对独立的虚拟网络功能单元。通过这些网络功能单元提供OpenStack所需要的网络服务。OVN是OpenvSwitch项目组为OpenvSwitch开发SDN控制器,可以看成是OVS的补充,提供了许多原生的虚拟网络功能,提升了OVS的工作效率和性能。.........原创 2022-07-08 08:00:00 · 1303 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.3.2节——DPDK原理详解
相对传统的基于内核的网络数据处理,dpdk 对从内核层到用户层的网络数据流程进行了重大突破,DPDK拦截中断,不触发后续中断流程,并绕过协议栈,通过UIO技术将网卡收到的报文拷贝到应用层处理,报文不再经过内核协议栈。减少了中断,DPDK的包全部在用户控件使用内存池管理,内核控件与用户空间的内存交互不用进行拷贝,只做控制权转移,减少报文拷贝过程,提高报文的转发效率。.........原创 2022-07-14 08:00:00 · 1094 阅读 · 0 评论 -
【重识云原生】第四章云网络4.8.3.1节——Open vSwitch简介
Open vSwitch(下文简称 OvS)就是一个开源的虚拟交换机实现。广泛应用在云计算行业,为网络管理员提供虚拟云主机之间和之内的流量可见性与可控性。Open vSwitch 旨在用虚拟化方案解决网络问题,与控制器软件一起实现分布式的虚拟交换技术。这意味着,交换机和控制器软件能够在多个服务器之间创建集群网络配置,从而不需要在每一台云主机和物理主机上单独配置网络。这个交换机还支持 VLAN 中继,通过 NetFlow、sFlow 和 RSPAN 实现可见性,通过 OpenFlow 协议进行管理。.....原创 2022-07-06 08:00:00 · 1221 阅读 · 2 评论 -
【重识云原生】第四章云网络4.7.3节——Vhost-net方案
virtio是一种I/O半虚拟化解决方案,是一套通用I/O设备虚拟化的程序,是对半虚拟化Hypervisior中的一组通用I/O设备的抽象。virtio分为前端和后端,一个backend组件和一个frontend组件。backend组件是virtio接口的host端,frontend组件是virtio的guest端。Linux中的vhost驱动程序提供了内核态virtio设备仿真解决思路。 ......原创 2022-06-25 09:00:00 · 1065 阅读 · 3 评论 -
【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
OVS整体架构,用户空间主要组件有数据库服务ovsdb-server和守护进程ovs-vswitchd。kernel中是datapath内核模块。最上面的Controller表示OpenFlow控制器,控制器与OVS是通过OpenFlow协议进行连接,控制器不一定位于OVS主机上,下面分别介绍图中各组件。 .........原创 2022-07-07 08:00:00 · 940 阅读 · 0 评论 -
【重识云原生】第四章云网络4.5节——大二层网络
数据中心的网络架构和技术在云计算诞生后,与数据中心的计算及存储一起都在发生着变化。起初数据中心网络分为内部与外部,数据中心外部网络指的通常是三层网络,也就是我们最开始所认知所学习的诸如:BGP、IS-IS、OSPF等三层路由协议的使用与三层网络架构的设计,怎么才能规划路由,怎么才能使得流量按照路由的规划选址最优的路径提供出去,如果说数据中心外部网络关注更多的是提升用户的体验,那么数据中心内部网络就是运维兄弟关注的重点之一,提升网络系统的效率。.........原创 2022-06-21 23:32:00 · 1370 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
VXLAN 本质上是一种重叠封装技术,它创建了一个覆盖在现有物理网络基础架构之上的虚拟网络。使用underlay IP网络,并在其上构建灵活的二层overlay逻辑网络。通过覆盖,任何第 2 层连接都可以跨越第 3 层网络。.........原创 2022-06-10 08:30:00 · 1194 阅读 · 0 评论 -
【重识云原生】第四章云网络4.8.6节——Dragonflow
DragonFlow是华为以色列技术团队2014年提出的,2015年开始提交代码,目前已经成为OpenStack的孵化项目。DragonFlow最初的目标是通过可插拔、无状态、轻量级的SDN控制器来实现分布式路由,它的提出是为了解决DVR(Distributed Virtual Router,分布式虚拟路由技术)中存在的一些问题。但在OpenStack Liberty版本开始,Dragonflow转向全面的SDN项目,与OVN不同的是,Dragonflow目的是提供全功能的SDN解决方案。.........原创 2022-07-12 08:00:00 · 783 阅读 · 0 评论 -
【重识云原生】第四章云网络4.3.7.3节——BGP协议实现原理
BGP状态描述的是BGP邻居的建立过程,BGP状态共有六种,分别是Idle(空闲)、Connect(连接)、Active(活动)、OpenSent(打开发送)、OpenConfirm(打开确认)和Established(建立成功)。BGP 与 IGP 在设备中使用不同的路由表,为了实现不同 AS 间相互通讯, BGP 需要与 IGP 进行交互,即 BGP 路由表和 IGP 路由表相互引入。原创 2022-06-05 08:30:00 · 390 阅读 · 0 评论 -
【重识云原生】第四章云网络4.9.5.1节下一代智能网卡——DPU综述
随着数据中心的高速发展,通信能力和计算能力成为数据中心基础设施的相辅相成的两个重要发展方向。若数据中心仅关注计算能力的提升,通信基础设施的提升跟不上,那么数据中心的整体系统性能依然受限,无法发挥出真正的潜力。DPU的提出背景就是应对这些数据量和复杂性的指数级增长。未来,需要将计算移至接近数据的位置,这是目前业界所公认的以数据为中心的体系结构下的创新。综上,DPU对数据中心来说,是通过更明细的分工来实现效率的提升、实现总体系统的成本最优化。...原创 2022-07-20 08:00:00 · 1244 阅读 · 0 评论