Bridge网络实现原理
目录
1.Docker0是什么?
2.Docker容器内部是否可以ping同宿主机?
3.Docker是如何处理容器间的网络通信的?
1.Docker0是什么?
Docker0在哪里呢?在保证当前没有任何容器正在运行的时候,我们执行ip addr指令,可以看到如下三个网络接口
lo:linux本机回环接口,可以看到ip地址为回环地址127.0.0.1。回环地址:不属于任何一个有类别地址类。在不安装网卡前就可以ping通这个地址。可以用它来检查本地网络协议、基本数据接口等功能是否正常。
eth0:linux网络接口,光纤以太网接口卡,俗称网卡,可以看到ip地址为阿里云内网地址172.16.252.21。
docker0:docker容器网络采用Bridge(桥接模式)形式下的网络接口,可以看到ip为172.17.0.1。
总结下docker0是什么呢?docker0是docker在默认情况下创建的虚拟网桥,如果内部容器网络连接方式采用Bridge模式,那么这些容器都会链接到docker0上。
2.Docker容器内部是否可以ping同宿主机?
大家猜也猜得到,肯定可以ping通啦,宿主机自己创建的东西自己都ping不通,都失联了还搞个锤子。那为什么可以ping通嘞,首先我们创建一个实例,创建一个nginx容器:docker run -it --name mynginx nginx:1.10,然后执行下:ip addr命令
可以看到多了一个以veth开头的网络接口,使用命令查看容器内部ip:docker exec -it 82be0f7b7636 ip addr
可以看到容器内部除了有回环接口以外,还有一个和宿主机很类似的网络接口。这东西看起来很像Java里面的通道嘛,我们大胆猜想,这两个玩意莫非就是Docker间网络通信的法宝么?
还真的是,其实我们每启动一个容器,如果不显示的使用--network来指定其网络连接模式的话,就会默认采用Bridge模式。在Bridge网络模式下,使用的技术为evth-pair技术:一对虚拟设备接口,一端连着协议,一端彼此相连,可以通信。画个图大致就是这个样子:
3.Docker是如何处理容器间的网络通信的?
了解了docker容器是如何和宿主机通信的,那我们再大胆猜测一下,docker容器间的通信是否也是用的evth-pair呢?我们再创建一个nginx容器,然后看一下宿主机的ip:
果不其然,又多出了一个虚拟网络接口,同样进入容器内部我们也可以看到容器内部也产生了与之对应的虚拟网络接口
由此可见,在Bridge网络模式下,容器间的通信是依靠docker0作为中间桥梁来进行通信的,示意图如下:
Bridge网络实现原理相关推荐
- 【云驻共创】华为云云原生之Kubernetes网络架构原理深度剖析(上)
文章目录 前言 一.Kubernetes诞生背景 1.云原生的概念 2.云原生架构 3.Kubernetes(k8s) 二.Kubernetes基本网络模型剖析 1.概念厘清 1.1 二层桥接 VS ...
- 网络工程原理与实践教程实验安排
<网络工程原理与实践教程(第3版)>胜在超凡实验指导书和教材合为一体,"易学,易教,内容新" 第10章 实 验.... 235 实验1 水晶头的制作... 23 ...
- 学容器必须懂 bridge 网络 - 每天5分钟玩转 Docker 容器技术(32)
上一节我们讨论了 none 和 host 类型的容器网络,本节学习应用最广泛也是默认的 bridge 网络. Docker 安装时会创建一个 命名为 docker0 的 linux bridge.如果 ...
- Docker Network 配置,自定义bridge网络
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 充分掌握网络工作原理及底层实现 大家都做什么项目啊?
张孝祥,张老师是软件编程语言培训和软件工程师速成培训专家.精通c/c++/vc++.vb.java.sql server.oracle.asp.jsp.j2ee.android等编程语言和数据库系统, ...
- Android Debug Bridge 技术实现原理
Android Debug Bridge 技术实现原理 ADB(Android Debug Bridge)技术实现 =============== I.总览 =============== ADB用来 ...
- Sniff网络基础原理和软件实现技巧详解
Sniff网络基础原理和软件实现技巧详解 前言 SNIFF真是一个古老的话题,关于在网络上采用SNIFF来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,SNIFF究竟是什么呢? SNIF ...
- 网络编程原理进阶___TCP/IP(javaee)
点击跳转 本章重点 网络编程原理进阶 应用层 DNS 传输层 UDP TCP面试重点 `TCP`原理 确认应答 超时重传 连接管理(面试重点) 3次握手 4次挥手 滑动窗口 流量控制 拥塞控制 延时应 ...
- 雷电网络(一):厘清雷电网络的原理
闪电网络为解决比特币拥堵而生,当然也可以用于其他区块链项目,比如我们上篇说的OMG.不过,以太坊也有自己的"闪电网络",它的名字叫雷电网络.甚至,以太坊除了雷电网络,还有其他类似的 ...
最新文章
- Xamarin iOS开发实战1.1.3Xamarin版本
- 窥探SnowflakeIdWorker之并发生成唯一ID
- Serval and Parenthesis Sequence
- C++学习笔记:(十)异常
- C++基础15-类和对象之多态
- Java高级语法笔记-HashMap
- grep常见操作整理(更新)
- http之url和uri
- 在 Visual Studio Code 中使用 PoweShell - CodeShell
- MyBatis学习--查询缓存
- 云计算中网络基础知识(升级版)
- RGB565 转 RGB
- Spring的AOP实现原理
- 电脑给手机开热点后,手机可以上网,但是电脑却不能上网了
- 纯css按钮代码,纯CSS实现3D按钮效果实例代码
- element-UI el-dialog组件按ESC键关闭不了弹窗
- 首篇!基于全景相机的深度学习综述:全面回顾未来展望
- RFID反向不归零编码(NRZ)
- 统计学怎么求加权指数_指数 统计学试卷
- 【中学】找出最大素数
热门文章
- linux查看IP的几种方式;nmcli的使用
- 如何下载API开发文档
- python人脸识别百度api_python3调用百度人脸识别api检测颜值demo
- 小米平板2无线网卡服务器,二手平板踩坑 篇二:400多收下小米平板2——屏幕通病有点要命...
- 2020知到python语言应用答案_2020年知到APPPython语言应用第六单元章节测试答案
- 机器学习:聚类算法的模型评估指标:轮廓系数
- MLP神经网络,GRNN神经网络,SVM神经网络以及深度学习神经网络对比识别人体健康非健康数据
- 时光倒流童年_使用Microsoft Excel时光倒流
- spring 使用注解来定义联合主键
- 男人衬衫讲究雅致简单