随笔分类 -  network

摘要:pod之间的通信默认是不隔离的,他们之是能相互通信的,但如果你想通过IP地址或者端口来管理网络通信,那么就可以使用k8s的networkpolicy功能。该功能的实现原理是默认都不通过,显示添加白名单。如果指定namespace,那么该network policy生效的范围是本namespace内。 阅读全文
posted @ 2024-04-15 16:38 JaneySJ 阅读(144) 评论(0) 推荐(0) 编辑
摘要:简述 k8s常用的两大网络插件Flannel和Calico都支持隧道技术,其中Calico支持IPinIP和BGP两种模式,IPIP模式中用到了隧道技术。但是Flannel和Calico使用的隧道技术是有区别的,Flannel使用的是vxlan技术,这种封包技术是MACinUDP的方式,因此Vxla 阅读全文
posted @ 2023-02-17 16:50 JaneySJ 阅读(1056) 评论(0) 推荐(0) 编辑
摘要:numactl numactl --hardware // 查看每个numa节点,每个节点领取多少个CPU和多少内存 numastat // 通过numastat命令可以查看numa状态 dpdk网卡绑定与解绑 dpdk源码目录下的usertool/dpdk-setup.py bind/unbind 阅读全文
posted @ 2023-01-13 10:36 JaneySJ 阅读(514) 评论(0) 推荐(0) 编辑
摘要:运行 编译好dpdk示例程序之后,可使用以下命令运行程序。我编译的环境是绑定了两张dpdk网卡,主机是64核,2个numa节点。 ./build/load_balancer -l 3-7 -n 4 -- --rx "(0,0,3),(1,0,3)" --tx "(0,3),(1,3)" --w "4 阅读全文
posted @ 2023-01-13 10:33 JaneySJ 阅读(139) 评论(0) 推荐(0) 编辑
摘要:DPDK从网卡直接取数据到用户空间,需要有数据转发的规则才能通信。也就是说需要用户实现相关通信网络协议实现相关数据包的转发(有些协议栈不转发ICMP报文那就Ping不通),例如腾讯的fstack,爱奇艺的DPVS等。这里仅以简单的2层和3层通信实例。 l2fwd Sample 运行 ./build/ 阅读全文
posted @ 2023-01-13 10:32 JaneySJ 阅读(1635) 评论(0) 推荐(0) 编辑
摘要:安装pktgen 我之前安装的dpdk版本是stable-18.11.2, linux版本为 3.10.0-1160.36.2.el7.x86_64, 从网站http://git.dpdk.org/apps/pktgen-dpdk/refs/下载尝试多个版本的pktgen,最后试出pktgen3.7 阅读全文
posted @ 2023-01-13 10:32 JaneySJ 阅读(365) 评论(0) 推荐(0) 编辑
摘要:模块安装 运行dpdk源文件(以18.11.2版本为例)中 usertools/dpdk-setup.sh 脚本可以选择如下选项18、19、20分别加载IGB_UIO、VFIO或者KNI模块。要能加载成功首先要编译安装好基础dpdk环境,加载成功后可以在/dev目录下看到vfio或kni文件夹。卸载 阅读全文
posted @ 2023-01-13 10:32 JaneySJ 阅读(3052) 评论(0) 推荐(0) 编辑
摘要:ethtool ethtool这个例子展示了一个命令行交互的例子,这个例子包含了两个部分,一个是跑在slavecore上的packet映射,另一个是跑在master core上的Ethtool shell前端程序。主程序通过命令ethtool跑起来之后, 通过函数ethapp_main中list_p 阅读全文
posted @ 2023-01-13 10:31 JaneySJ 阅读(648) 评论(0) 推荐(0) 编辑
摘要:要想弄懂一个工程,在了解完它的基本概念和大体架构之后,就让它跑起来。看看是怎么玩转的,然后再深入细节。这里我先到GitHub上下载dpdk工程的18.11.2稳定版本,之所以选择这个版本是因为我们后面会用到DPVS,而DPVS支持到18.11. 另外,在安装编译dpdk之前需要升级linux系统并安 阅读全文
posted @ 2023-01-13 10:31 JaneySJ 阅读(1646) 评论(0) 推荐(0) 编辑
摘要:我在一篇博文中看到DPDK的解释为内核旁路技术,我觉得这个解释很形象也很好记,DPDK 重载了网卡驱动,将数据包的控制平面和数据平面分离,驱动在收到数据包后不再硬中断通知 CPU,而是让数据包通过内核旁路的协议栈绕过了 Linux 内核协议栈,并通过零拷贝技术存入内存,这时应用层的程序就可以通过 D 阅读全文
posted @ 2023-01-13 10:30 JaneySJ 阅读(527) 评论(0) 推荐(0) 编辑
摘要:Calico是一个用于容器、虚拟机和基于本机主机的工作负载的开源网络和网络安全解决方案。Calico支持广泛的平台,包括Kubernetes, OpenShift, Docker EE, OpenStack和裸机服务。Calico支持多种网络架构,其中IPIP和BGP两种网络架构较为常用。这里简单说 阅读全文
posted @ 2022-05-08 10:42 JaneySJ 阅读(11410) 评论(1) 推荐(1) 编辑
摘要:华为2288HV5型号的服务器带PCI扩展网卡插槽,首先打开它的盖子,上面有个钥匙孔一样的孔,还有一个小把手,抬起把手的一端就可以推动盖子拿开了。 打开盖子后,服务器内部这样的: 这里面的线都不需要拆,尤其是右边查到PCI板卡上的两条粗粗的线,也无需拆掉。其实,外面的螺丝也几乎不需要卸掉。上图右上角 阅读全文
posted @ 2022-05-02 17:31 JaneySJ 阅读(3001) 评论(2) 推荐(0) 编辑
摘要:VPP是什么? Vector Packet Processing (VPP) ,详细概念可参考网站https://wiki.fd.io/view/VPP,这里仅为了学习效果记录关键点,并便于日后复习。 根据该英文网站内容的中文翻译可参考网站https://www.pianshen.com/artic 阅读全文
posted @ 2022-04-02 16:14 JaneySJ 阅读(1376) 评论(0) 推荐(0) 编辑
摘要:Vlan是为了防止广播风暴,把二层的广播报文限制在虚拟的LAN中的一种方法,现在所有的交换机都是支持VLAN的。同时交换机为了连接不同的VLAN,设立了三种不同的端口,从简单到复杂分别是Access口、trunk口和hybrid口.在了解这些口之前,我们有两个原则需要了解: 1. Vlan是为了防止 阅读全文
posted @ 2021-07-19 15:16 JaneySJ 阅读(1555) 评论(0) 推荐(0) 编辑
摘要:iptables的底层是现实netfilter,netfilter作为一个通用的、抽象的框架提供一整套hook函数的管理机制,使得数据包过滤、包处理、等成为可能。netfilter的架构就是在整个网络流程的若干位置放置一些钩子,并在每个钩子上挂载一些处理函数进行处理。 IP层的5个钩子点的位置,对应 阅读全文
posted @ 2021-02-24 17:02 JaneySJ 阅读(992) 评论(0) 推荐(0) 编辑
摘要:大家都知道TCP是一种可靠的链接,之所以说它可靠是因为它在发送数据包之前会建立一个通道,待通道建立完毕后再发送数据,确保数据可以收到。而建立连接的过程和删除连接的过程也是很可靠的。建立连接是通过三次握手,删除连接是四次握手。下图是一个TCP三次握手的图,一个手机向一个服务器建立TCP连接: 为什么建 阅读全文
posted @ 2020-05-26 17:16 JaneySJ 阅读(205) 评论(0) 推荐(0) 编辑
摘要:策略路由简介 定义 策略路由PBR(Policy-Based Routing)是一种依据用户制定的策略进行路由选择的机制。 策略路由与路由策略(Routing Policy)存在以下不同: 策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据 阅读全文
posted @ 2020-05-14 10:36 JaneySJ 阅读(2858) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示