【网络技术】什么是CNI

article/2025/8/7 2:00:52

 

序言 

你只管努力,其他交给时间,时间会证明一切。

Never look back unless you are planning to go that way.

文章标记颜色说明:

  • 黄色:重要标题
  • 红色:用来标记结论
  • 绿色:用来标记一级论点
  • 蓝色:用来标记二级论点

希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流

1 基础介绍

1.1 概念介绍

CNIContainer Network Interface是一个用于容器网络的规范和接口,它定义了一组标准的API和插件,用于在容器运行时创建、配置和管理网络。

详细一点说,是定义了一组标准接口和数据格式,用于让容器运行时(如Docker、Kubernetes等)与网络插件(如Calico、Flannel、Weave等)进行交互

CNI的设计初衷是为了解决容器网络的多样性和复杂性,使得容器可以灵活地与各种网络环境集成。

CNI规范和接口定义了一组标准的API,包括以下几个主要接口:

  1. add:用于在容器中创建网络接口和配置网络参数。

  2. delete:用于删除容器中的网络接口和清除网络配置。

  3. check:用于检查网络配置是否正确。

  4. version:用于获取CNI插件的版本信息。

CNI插件是实现上述接口的二进制程序,它们可以被容器运行时调用,以实现容器的网络连接和通信。

CNI插件可以通过配置文件的方式进行配置,例如使用JSON格式的配置文件,指定网络类型、IP地址分配、路由等参数。

CNI的优势:是它可以让容器运行在各种不同的网络环境中,而不需要对应用程序进行修改。

CNI插件可以根据不同的网络环境,动态地创建和配置网络接口,使得容器和宿主机可以共享网络资源,并且可以互相通信。

总的来说,CNI是容器网络中一个重要的规范和接口,它可以让容器在各种不同的网络环境中运行,并且可以方便地进行网络管理和配置

2 CNI插件的作用

CNI插件的作用是为容器分配IP地址、配置网络路由、实现网络隔离和安全策略等

它通过调用网络插件提供的接口,将容器连接到网络中。通过使用CNI插件,用户可以为不同的容器选择不同的网络插件,并灵活地配置网络选项。

这使得CNI插件成为了容器网络管理的标准解决方案之一。

CNI组成

CNI插件的架构非常简单,它由三个主要组件组成:

  1. CNI插件二进制文件:CNI插件二进制文件是实际的网络插件,用于管理容器网络。

  2. CNI配置文件:CNI配置文件是用于配置CNI插件的JSON文件,它包括网络参数、IP地址、路由和端口映射等信息。

  3. CNI运行时:CNI运行时是容器运行时调用CNI插件的框架,它根据CNI配置文件中的信息调用对应的CNI插件,并将结果返回给容器运行时。

3 插件举例

这里列举几个常用的CNI插件:

  1. Flannel:Flannel是一个最初由CoreOS开发的CNI插件,它可以为容器提供全覆盖的SDN(Software Defined Networking)网络,支持多种后端网络和数据平面。

  2. Calico:Calico是一个开源的容器网络和安全解决方案,它可以为容器提供高性能、高可靠性的网络连接和安全管理,支持多种网络拓扑和安全策略。

  3. Cilium:Cilium是一个基于eBPF(extended Berkeley Packet Filter)技术的CNI插件,它可以为容器提供高性能的网络连接和安全管理,支持多种网络拓扑和应用层安全策略。

  4. Weave NetWeave Net是一个由Weaveworks开发的CNI插件,它可以为容器提供全覆盖的SDN网络,支持多种后端网络和数据平面,同时还提供了一些高级网络功能,例如多租户网络、跨云网络等。

总的来说,CNI插件提供了一种灵活、可扩展的容器网络管理解决方案,使得用户可以根据自己的需求选择不同的网络插件,并根据需要进行配置和管理。

这些CNI插件都是开源的,并且都可以与主流的容器平台(例如Docker和Kubernetes)集成使用。

它们都具有不同的优势和特点,可以根据具体的场景和需求进行选择和配置。

4 测试

使用ifconfigipping等命令可以测试网络连接和IP地址分配是否正确。以下是一些常用的命令及其用法:

ifconfig命令

ifconfig命令可以显示和配置网络接口的信息。运行命令ifconfig可以列出所有的网络接口及其IP地址、MAC地址、网络状态等信息。例如:

  • apache
  • Copy
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)RX packets 499  bytes 98341 (96.0 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 270  bytes 30653 (29.9 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```上述命令输出了eth0接口的IP地址、子网掩码、广播地址、MAC地址等信息。可以通过修改网络配置文件或使用ifconfig命令来配置和管理网络接口。

ip命令 

ip命令是Linux系统中一个更加强大和灵活的网络管理工具,可以用来显示和配置网络接口、路由、ARP表等信息。

例如,运行命令ip addr show可以列出所有网络接口的IP地址和状态信息。运行命令ip route show可以列出当前的路由表。例如:

  • apache
  • Copy
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ffinet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0valid_lft 86296sec preferred_lft 86296secinet6 fe80::5054:ff:fe12:3456/64 scope linkvalid_lft forever preferred_lft forever
```上述命令输出了lo和eth0接口的IP地址和状态信息。可以通过修改网络配置文件或使用ip命令来配置和管理网络接口。

ping命令

ping命令可以测试网络连接是否正常

例如,运行命令ping 8.8.8.8可以测试与Google公共DNS服务器的网络连接是否正常。

例如:

  • basic
  • Copy
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=5.24 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=5.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=5.20 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 5.203/5.247/5.303/0.051 ms
```上述命令输出了与Google公共DNS服务器的三次ping操作的结果。可以根据ping命令的输出来判断网络连接是否正常。

总的来说,ifconfig、ip、ping等命令是Linux系统中常用的网络管理和测试命令,可以用来测试网络连接和IP地址分配是否正确。可以根据具体的测试需求和网络配置来选择适当的命令和参数。

粉丝福利

图书介绍

书名:元宇宙Ⅱ:图解元技术区块链、元资产与Web3.0、元人与理想国(全三册)

这是一个全新的时代:Web3.0构建的经济体系,DID身份的跨平台操作,数字NFT的原子级镜像,以及DeFi的无摩擦元资产再分配......2022年,奇点出现:元人即将诞生;元资产即将分配;元宇宙正在成形。

本套书通过元宇宙三大定律、大统一方程、熵增定律、Web3.0、万亿元资产、元人与区块链文明构建了元宇宙第一大楼。

第1-80层:数字人展位、电子宠物、数字藏品、3D沉侵式旅游、DeFi。

第81-160层:AI、VR、AR、MR、DAO、Web3.0、边缘计算。

第161-214+层:多场景阅读、4K空间、跨链许可、维度转换、无限∞世界。

作者简介

量子学派,是一个专注于自然科学领域(数理哲)的教育平台,其公众号“量子学派”发布的自然科学类文章阅读量大都是10万+,全国十大科普教育平台。

平台推出了一系列深受广大读者好评的课程,包括《数学之美》《逻辑之美》《理性之美》《科学之美》等。

罗金海,全国十大科普教育平台《量子学派》主编,2140元宇宙发起人,文津图书奖《公式之美》作者,专注于自然科学和逻辑理性知识科普。

国家级技术中心工程师、南方报业2009年度记者。著有《落脚之城》《人人都懂区块链》《公式之美》《元宇宙》等著作。

 迫不及待的小伙伴也可以访问下面的链接了解详情:

 链接:《元宇宙2(全三册:图解元技术区块链、元资产与Web 3.0、元人与理想国)

更多优惠活动:

世界读书日“又是阅读好时节”,北京大学出版社图书,优惠活动特别延长通知:
1. 当当:参与活动的图书持续到月底4月30日;
2. 京东:参与活动的图书持续到月底4月30日;5.4-5.7 也有部分图书有优惠活动。

参与方式 

数量3 本   !!!
活动时间:截止到 2023-05-06 12:00:00

抽奖方式

  • 1套,送给留言点赞最多的小伙伴
  • 2套利用程序进行抽奖, 评论区抽2位小伙伴送书

参与方式关注博主点赞收藏,评论区留言 

留言内容:"人生是一场消耗,要把美好的时光放在喜欢的人与事上。"

中奖名单 

🍓 获奖名单🍓

 中奖名单:请关注博主动态

名单公布时间:2023-05-06 15:30:00

中奖用户:
1 小伙伴评论赞17!!当仁不让,排名第一。⭐️几分醉意.@几分醉意.⭐️
2 随机抽取:⭐️高小遥 @高小遥⭐️
3 随机抽取:⭐️清风莫追 @清风莫追⭐️
恭喜以上中奖的小伙伴,请及时联系博主!!😁😁😁

这次没中奖的小伙伴,也不要灰心啦,博主马上就开启第三期活动😯😯,关注博主动态,总有一次,奖品让你带回家😋😋😋


http://chatgpt.dhexx.cn/article/G9lQpoAT.shtml

相关文章

java程序员找工作前需要准备的杀手锏有哪些?

高考前,我们要练兵考试和集训。”临阵磨枪不快也光 ”,找工作前,我们也必须要花很多精力去完成一些必要的准备。 “不打无准备之仗”, 精心准备和训练会对你有相当正面的作用。 有人认为“找工作要靠能力”。这话没错,我要说的是,“临阵磨枪准备的内容也是能力的一部分”…

《Java性能优化全攻略》分享

作为Java程序员&#xff0c;你希望写出高性能的代码吗&#xff1f; 什么样的互联网服务质量好?代码的高性能是必备的一环。怎样才能降低公司运营成本?提高系统容量的效率&#xff08;服务器和数据中心&#xff09;是重要的一部分。 代码看性能&#xff0c;公司重效率。怎么…

java技术点

后端架构师技术图谱 推荐: 《Java技术书籍大全》 - awesome-java-books 从初级开发者到资深架构师&#xff0c;看这些书就够了 数据结构 队列集合链表、数组字典、关联数组栈树 二叉树完全二叉树平衡二叉树二叉查找树&#xff08;BST&#xff09;红黑树B&#xff0c;B&#x…

有用但多疑的十大Java编程技术

在编码过一段时间后(哎呀&#xff0c;拿我来说&#xff0c;已经20多年了&#xff0c;当你乐享其中时&#xff0c;时间过得飞快&#xff09;&#xff0c;有人已经开始拥抱他们的习惯了。 因为&#xff0c;你知道… “会出错的事情总会出错”– 墨菲定律 这就是人们拥抱“自卫…

40000+字超强总结?阿里P8把Java全栈知识体系详解整理成这份PDF

40000 字长文总结&#xff0c;已将此文整理成PDF文档了&#xff0c;需要的朋友点赞支持一下吧。 全栈知识体系总览 Java入门与进阶面向对象与Java基础 Java 基础 - 面向对象Java 基础 - 知识点Java 基础 - 图谱 & Q/A 基础知识点复习完了以后&#xff0c;我们需要深入的理…

2020面试准备之Java 基础(理论篇)

文章目录 1、面向对象和面向过程的区别2、Java 语言有哪些特点?3、什么是 Java 虚拟机&#xff1f;为什么 Java 被称作是“平台无关的编程语言”&#xff1f;4、JDK 和 JRE 的区别是什么&#xff1f;5、Java 和 C的区别?6、面向对象的特征有哪些方面&#xff1f;7、访问修饰符…

资深程序员总结的成功十大黄金定律

《天下无贼》中由葛优饰演的黎叔曾说过一句话&#xff1a;“21世界什么最贵&#xff1f;——人才最贵。”人才对成功来说至关重要&#xff0c;而且人才和天才还是不一样的&#xff0c;天才大部分是要有天赋的&#xff0c;而人才即使你没有天赋&#xff0c;遵照规律发展&#xf…

什么是汉明窗?加Hanmming窗的作用?

1.什么是汉明窗&#xff1f; 从语音的角度说 理论&#xff1a; 语音信号是一种非平稳的时变信号&#xff0c;其产生过程与发声器官的运动紧密相关。而发声器官的状态变化速度较声音振动的速度要缓慢的多&#xff0c;因此语音信号可以认为是短时平稳的。研究发现&#xff0c;在…

hanmming窗和hamming窗的作用

什么是汉明窗&#xff1f;加Hanmming窗的作用&#xff1f; 1.什么是汉明窗&#xff1f; 答&#xff1a;我是做语音识别的&#xff0c;我就从语音的角度跟你说一下吧。 语音信号一般在10ms到30ms之间&#xff0c;我们可以把它看成是平稳的。为了处理语音信号&#xff0c;我们要对…

LFM回波信号仿真,加汉明窗,可用的matlab代码

LFM回波信号仿真&#xff0c;加汉明窗&#xff0c;可用的matlab代码 运行结果&#xff08;文尾有程序&#xff09; 在数字信号处理过程中&#xff0c;每次FFT变换只能对有限长度的时域数据进行变换&#xff0c;因此&#xff0c;需要对时域信号进行信号截断。 即使是周期信号&…

matlab汉明窗dft,谱分析中窗的选取

信号截断及能量泄漏效应 数字信号处理的主要数学工具是傅里叶变换,而傅里叶变换是研究整个时间域和频率域的关系。然而,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。取用有限个数据,就是将信号进行加窗函数操…

语音信号处理(二):矩形窗和汉明窗时域波形和频域波形

一&#xff1a;通过代码实现 clear all; hzeros(10000,1); h(2001:8000)1; % 在2001-8000上令值为1 subplot(2,2,1); plot(h,r-); title(矩形窗时域波形); xlabel(样点数); ylabel(幅度); hold on; axis([0 10000 0 1.5]);wh(2001:2060); Wfft(w,1024); % 对w进行1024点fft计…

语音识别之——mfcc什么是汉明窗,为什么加汉明窗

为什么要加汉明窗&#xff1f;什么叫加窗&#xff1f; 在信号处理中&#xff0c;可以说加窗处理是一个必经的过程&#xff0c;因为我们的计算机只能处理有限长度的信号&#xff0c;因此原始信号X(t)要以T&#xff08;采样时间&#xff09;截断&#xff0c;即有限化&#xff0c;…

窗方法原理之矩形窗及汉明窗

窗口设计法 窗口设计法是从单位脉冲响应着手&#xff0c;使h(n)逼近理想的单位脉冲响应序列hd(n)。我们知道hd(n)可以通过对理想频响求DTFT反变换获得 理想频响是分段恒定的&#xff0c;在边界频率处有突变点&#xff0c;所以&#xff0c;这样得到的理想滤波器单位脉冲响应hd(n…

【信号与系统】信号频谱和测量之汉明窗

【信号与系统】信号频谱和测量之汉明窗 信号频谱和测量傅里叶变换汉明窗汉明窗函数 频谱计算示例输入示例代码运行结果 示例2-书中示例参考资料 信号频谱和测量 傅里叶变换 汉明窗 实际情况中&#xff0c;由于无穷的积分范围问题&#xff0c;需要减少测量信号的时间&#xff…

matlab hamming 原理,Matlab中加汉明窗 ahmming 作用

转自:http://www.cnblogs.com/lxy2017/p/4049124.html 1.什么是汉明窗? 语音信号一般在10ms到30ms之间,我们可以把它看成是平稳的。为了处理语音信号,我们要对语音信号进行加窗,也就是一次仅处理窗中的数据。因为实际的语音信号是很长的,我们不能也不必对非常长的数据进行…

矩形窗、汉明窗效果对比(matlab)

直接上代码&#xff1a; clear all; close all; f11e3;f21.8e3; Fs6e3; M60;N2048; n0:M-1; xcos(2*pi*f1*n/Fs)0.05*cos(2*pi*f2*n/Fs); k0:N-1;DFs/N;%频谱分辨率 f1fft(x,2048);%加矩形窗DFT hmhamming(M);%汉明窗 f2fft(x.*hm,2048);%加汉明窗DFT plot(k*D,10*log10(abs(f…

Hamming(汉明)窗的原理介绍及实例解析

概念   在数字信号处理过程中&#xff0c;每次FFT变换只能对有限长度的时域数据进行变换&#xff0c;因此&#xff0c;需要对时域信号进行信号截断。即使是周期信号&#xff0c;如果截断的时间长度不是周期的整数倍&#xff08;周期截断&#xff09;&#xff0c;那么&#xff…

基于MATLAB的FIR滤波器性能仿真,对比矩形窗、汉明窗,海宁窗,布莱克曼窗

目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 矩形窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致加窗过程中带进了高频干扰和频谱泄漏。 汉宁窗又称升余弦窗,汉宁窗使主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。…

汉明窗试分析

I、预备知识&#xff1a; 1&#xff09;帧&#xff1a;简单说&#xff0c;有一段语音信号&#xff0c;分成很小的一段一段的等长的信号&#xff0c;这其中一段就是一帧。—通常一秒取约33帧到100帧&#xff0c;也就是说一帧大约时长为1s/100-1s/33。&#xff08;如下图为一段语…