【网络技术】什么是CNI

 

序言 

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

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 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 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 0
        TX 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 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 86296sec preferred_lft 86296sec
    inet6 fe80::5054:ff:fe12:3456/64 scope link
       valid_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 随机抽取:⭐️清风莫追 @清风莫追⭐️
恭喜以上中奖的小伙伴,请及时联系博主!!😁😁😁

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17501.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【应急响应】日志自动提取分析项目ELKLogkitLogonTracerAnolog等

日志自动提取-七牛Logkit&观星应急工具 1、七牛Logkit&#xff1a;(Windows&Linux&Mac等) https://github.com/qiniu/logkit/ 支持的数据源&#xff08;各类日志&#xff0c;各个系统&#xff0c;各个应用等&#xff09; File: 读取文件中的日志数据&#xff0c;包…

面了一个4年经验的测试工程师,自动化都不会也要15k,我也是醉了····

在深圳这家金融公司也待了几年&#xff0c;被别人面试过也面试过别人&#xff0c;大大小小的事情也见识不少&#xff0c;今天又是团面的一天&#xff0c; 一百多个人都聚集在一起&#xff0c;因为公司最近在谈项目出来面试就2个人&#xff0c;无奈又被叫到面试房间。 整个过程…

数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝

近日&#xff0c;随着热播剧《长月烬明》的爆火&#xff0c;蚌埠、宣城、敦煌等多个与剧情梦幻联动的宝藏城市被带飞&#xff0c;各地热心网友也纷纷催促自家文旅局赶紧“蹭飞”&#xff0c;《长月烬明》以一己之力打造了影视文旅融合的新样板。 仙偶剧特效天花板&#xff0c;…

《互联网安全产品漏洞管理规定》

《网络产品安全漏洞管理规定》由工业和信息化部、国家互联网信息办公室、公安部联合印发&#xff0c;自2021年9月1日起施行。 该《规定》明确&#xff0c;任何组织或者个人不得利用网络产品安全漏洞从事危害网络安全的活动&#xff0c;不得非法收集、出售、发布网络产品安全漏洞…

Redis高频面试题,使用场景

一、缓存 1、什么是缓存穿透 ? 怎么解决 ? 缓存穿透 查询一个不存在的数据&#xff0c;mysql查询不到数据也不会直接写入缓存&#xff0c;就会导致每次请求都查数据库。 解决 方案一&#xff1a;缓存空数据&#xff0c;查询返回的数据为空&#xff0c;仍把这个空结果进行…

【JavaEE】认识线程

目录 1、什么是线程 2、为什么引入线程 2.1、线程的优缺点 3、CPU的工作原理 4、线程和进程的关系 4.1、线程和进程的入口函数 4.2、线程独享的资源 1、什么是线程 一个进程中可以有一个或者多个线程&#xff0c;每个线程都是一个独立的执行流。多个线程之间&#xff0c;也…

3.rabbitMQ之发布确认高级和整合springboot(重要)找了很多博客整理出来的

1.极端情况下 rabbitMQ需要重启,导致消息投递失败(生产者发消息全部丢失)(交换机或者队列出问题) 生产者需要把数据放到缓存,用定时任务重新发送 解决方法: 0.必须配置文件写 spring.rabbitmq.publisher-confirm-typecorrelatedspring.rabbitmq.publisher-returnstruecorrelati…

Word Embedding

One-hot-encoding 缺点 1.向量维度和向量个数很大&#xff0c;假设有1w个token的话&#xff0c;向量个数和维度就都是1w 2. 语义相近的词的向量并不相似 Word Embedding 核心思想&#xff1a;可以通过上下文理解单词的语义 predection-based方法 使用前一个单词预测下一个…

【机器学习】信息量、香农熵、信息增益

这节可以搭配 【机器学习】Logistic回归&#xff08;重新整理&#xff09;信息量&#xff08;信息&#xff09;信息量公式的推理过程 香农熵信息增益 【机器学习】Logistic回归&#xff08;重新整理&#xff09; B站视频&#xff1a;“交叉熵”如何做损失函数&#xff1f;打包…

Linux一学就会——编写自己的shell

编写自己的shell 进程程序替换 替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数 以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动 例程开始执行…

视觉震撼的数据可视化示例

众所周知&#xff0c;数据可以非常强大——当你真正理解它告诉你什么时。 数据和信息可视化(数据可视化或信息可视化)是对大量复杂的定量、定性数据、信息进行设计和创建易于沟通、易于理解的图形或视觉表示的实践&#xff0c;在静态、动态或交互式视觉项目的帮助下&#xff0…

存储网络架构——DAS、NAS、SAN、分布式组网架构

目录 DAS直连式存储 NAS网络附加存储 SAN存储 存储区域网络 分布式存储组网 DAS直连式存储 DAS遇到的挑战 NAS网络附加存储 向主机提供文件服务&#xff1b;文件系统由存储设备维护&#xff0c;用户访问文件系统&#xff0c;不直接访问底层存储 拥有所有主机上文件与底层存储空…

JS案例分析-某国际音x-tt-params参数分析

今天我们要分析的网站是&#xff1a;https://www.tiktok.com/selenagomez?langen&#xff0c;参数名字叫x-tt-params。 先来抓个包 这个接口是用户视频列表url&#xff0c;参数叫x-tt-params&#xff0c;该接口中还有其他参数像msToken&#xff0c;X-Bogus&#xff0c; _sig…

【51单片机】点亮一个LED灯(看开发板原理图十分重要)

&#x1f38a;专栏【51单片机】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【The Right Path】 &#x1f970;大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 目录 &#x1f354;基础内容 &#x1f3f3…

项目集的定义及管理

一、什么是项目集 项目集是相互关联且被协调管理的项目、子项目集和项目集活动&#xff0c;以便获得分别管理所无法获 得的效益。 以项目集的形式管理项目、子项目集及项目集活动能确保项目集组件的战略和工作计划根据各组 件的成果做出相应调整&#xff0c;或者按照发起组织的…

洞车系统常见问题解决指南

洞车常见问题解决指南 1.研发脚本处理问题1.1 WMS出库单无法审核1.2 OMS入库单无法提交&#xff0c;提示更新中心库存失败1.3 当出现OMS下发成功WMS/TMS/DMS还没有任务的情况时处理方案1.4 调度波次生成或者添加任务系统异常1.5 东鹏出库单部分出库回传之后要求重传1.6 更新订单…

不会前端,怎么快速打造属于自己的个人博客?

个人博客 简介提前准备 一、初始化vuepress项目二、页面配置首页配置顶部配置顶部导航栏路由配置侧边导航栏配置 三、打包部署四、数据统计插槽自定义插槽配置整体结构页面效果 项目地址 简介 主要教大家如何快速搞一个属于自己的博客网站&#xff0c;特别是一些不怎么会前端的…

信息安全保障

文章目录 信息安全保障基础基本概念信息安全定义广义和狭义的信息安全问题信息安全问题的根源和特征情报威胁和态势感知信息安全保障基础信息安全属性信息安全视角 信息安全发展阶段通信安全计算机安全信息系统安全信息安全保障网络安全空间 信息安全保障新领域工业控制系统(IS…

【虹科案例】使用 TCP 分析测量握手时间

如何使用 Allegro Network 万用表的 TCP 分析确定握手时间 握手需要多少时间&#xff1f; 在图 1 中&#xff0c;您可以在虹科Allegro 网络万用表的 TCP 统计数据中看到过去 10 分钟的客户端握手次数。在这里&#xff0c;您可以清楚地看到在指定时间段内有延长的响应时间。但…

ChatGPT探索系列之五:讨论人工智能伦理问题及ChatGPT的责任

文章目录 前言一、安全二、隐私和道德三、我们应该做什么总结 前言 ChatGPT发展到目前&#xff0c;其实网上已经有大量资料了&#xff0c;博主做个收口&#xff0c;会出一个ChatGPT探索系列的文章&#xff0c;帮助大家深入了解ChatGPT的。整个系列文章会按照一下目标来完成&am…