bridge

Docker网络-容器网络模型

佐手、 提交于 2021-02-07 23:01:17
1. 容器网络模型(CNM) Docker网络架构建立在一组称为容器网络模型(CNM)的接口上。CNM的理念实现了在不同基础设施的应用程序可移植性,同时在功能方面也具有不错的表现。 CNM架构 CNM中有几个比较重要的概念。它们都是与操作系统和基础架构无关的,因此无论基础架构堆栈如何,应用程序都可以无感知的使用。 沙箱(Sandbox)-沙箱包含容器的网络堆栈的配置。这包括对容器接口,路由表和DNS设置的管理。沙盒的实现可以是Linux网络命名空间,FreeBSD Jail或其他类似的概念。沙盒可能包含来自多个网络的许多端点(Endpoint)。 端点(Endpoint)-端点将沙盒连接到网络。存在Endpoint构造,因此可以从应用程序中抽象出到网络的实际连接。这有助于保持可移植性,以便服务可以使用不同类型的网络驱动程序,而不必担心其与该网络的连接方式。 网络-CNM未根据OSI模型指定网络。网络的实现可以是Linux网桥,VLAN等。网络是端点之间具有连通性的集合。未连接到网络的端点将无法在网络上建立连接。 2. CNM驱动程序接口 容器网络模型提供了两个可插拔的开放接口,用户,社区和供应商可以使用它们来控制网络中的某些功能,可见性或网络控制。 2.1 网络驱动种类 1. 网络驱动程序( Network Drivers):Docker网络驱动程序才是网络正常工作的实际实现

java23种设计模式概述总结

霸气de小男生 提交于 2021-02-02 09:39:10
软件设计模式的意义: 它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的 可重用性、代码的可读性和代码的可靠性。 可以提高程序员的思维能力、编程能力和设计能力。 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。 软件设计模式的基本要素: 模式名称 、 问题 ( 该模式的应用环境 ) 、 别名、动机、 解决方案 ( 组成成分、它们之间的相互关系及各自的职责和协作方式 ) 、 效果( 模式的优缺点。主要是对时间和空间的衡量以及该模式对系统的灵活性、扩充性、可移植性的影响 ) 、 结构、模式角色、合作关系、实现方法、适用性、已知应用、例程、模式扩展和相关模式 设计模式 有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。 1. 根据目的来分 根据模式是用来完成什么工作来划分,这种方式可分为 创建型模式、结构型模式和行为型模式 3 种 。 创建型模式:用于描述“怎样创建对象”,它的主要特点是“ 将对象的创建与使用分离 ”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式:用于描述如何将 类或对象按某种布局组成更大的结构 ,GoF 中提供了代理、适配器、桥接、装饰、外观

AMBA总线协议AHB、APB

限于喜欢 提交于 2021-01-23 11:00:19
一、什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内部的高速RAM、NAND FLASH、DMA、Bridge的连接。APB用于连接外部设备,对性能要求不高,而考虑低功耗问题。ASB是AHB的一种替代方案。 二、AHB AHB总线的强大之处在于它可以将微控制器(CPU)、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线master、各种拥有AHB接口的控制器等等连接起来构成一个独立的完整的SOC系统,不仅如此,还可以通过AHB-APB桥来连接APB总线系统。AHB可以成为一个完整独立的SOC芯片的骨架。 下图是一个典型的AHB系统总线的结构示意图 三、APB 主要应用在低带宽的外设上,如UART、 I2C,它的架构不像AHB总线是多主设备的架构,APB总线的唯一主设备是APB桥(与AXI或APB相连),因此不需要仲裁一些Request/grant信号。APB的协议也十分简单,甚至不是流水的操作,固定两个时钟周期完成一次读或写的操作。其特性包括:两个时钟周期传输

计算机网络学习笔记

浪子不回头ぞ 提交于 2021-01-23 08:18:33
计算机网络学习笔记 网络 局域网和广域网的区别 广域网(wide area network,WAN)也是由具有通信能力的设备相互连接而形成的。可是,局域网和广域网有一些不同。局域网通常覆盖范围受限,可以覆盖一间办公室、一栋大楼或一个校园;广域网则具有更广的地理覆盖范围,可以覆盖一个城市、一个省、一个国家甚至整个世界。局域网互联主机;广域网互联交换机、路由器、调制解调器等连接设备。局域网通常由使用它的组织拥有;广域网通常由通信公司建设和运营,使用它的组织进行租用。我们看看目前使用的两种典型的广域网:点到点广域网和交换式广域网。 网络层次结构 应用层 俩个应用层之间的逻辑连接是 端到端 的,其通信处于两个进程之间。应用层交换的数据成为消息(message) 其常见的协议有http,ssh,smtp,ftp等 传输层 两个传输层的逻辑连接也是端到端的。其常见协议有tcp,udp,sctp。TCP中的数据称为段(segment),UDP中的数据称为用户报文(user datagram) TCP是面向连接的协议,,其提供流量控制、差错控制、拥塞控制 UDP是无连接协议,其尽最大努力交付数据,但不保证对端一定接收到完整数据。 可靠传输 TCP的可靠数据传输形式如下所示,发送端按序发送数据分组,接收方接受到一个数据分组后发送一个ACK确认,接受方收到ACK后才开始发送下一个数据分组。

Linux查看硬件信息命令

人走茶凉 提交于 2021-01-20 01:56:58
一、查看服务器硬件信息 (1)查看服务器型号、序列号 [root@Master ~]# dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product|Serial" (2)查看主板型号 [root@Master ~]# dmidecode |grep -A16 "System Information$" (3)查看BIOS信息 [root@Master ~]# dmidecode -t bios # dmidecode 2.12 SMBIOS 2.8 present. Handle 0x0008, DMI type 0, 24 bytes BIOS Information Vendor: HP Version: U19 Release Date: 12/27/2015 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 16384 kB Characteristics: PCI is supported PNP is supported BIOS is upgradeable BIOS shadowing is allowed ESCD support is available Boot from CD is supported Selectable boot is

CentOS7环境下快速部署Kubernetes(k8s)集群

核能气质少年 提交于 2021-01-16 02:02:35
Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制 k8s的概念可以参考如下链接 小孩子也能看懂的kubernetes教程 图文 | 任何人都能看懂的 Kubernetes 教程! 图文:你女朋友也能看懂的 Kubernetes ! 下面介绍CentOS7环境下快速部署一套Kubernetes(k8s)集群 三台CentOS7.6.1810版本的Linux虚拟机 内存大小均为4GB 1、k8s-master 10.20.10.235 2、k8s-node1 10.20.10.237 3、k8s-node2 10.20.10.238 具体操作步骤如下 1、环境准备 1)三台主机分别修改主机名 k8s-master 10.20.10.235 : hostnamectl set-hostname k8s-master k8s-node1 10.20.10.237 : hostnamectl set-hostname k8s-node1 k8s-node2 10.20.10.238 : hostnamectl set-hostname k8s-node2 三台都修改vi /etc/hosts文件,加入主机名解析 10.20.10.235

MQTT的学习之Mosquitto安装和使用

梦想与她 提交于 2021-01-13 23:02:46
Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案。本文的主旨在于记录Mosquitto服务的安装和使用,以备日后查阅。 获取&安装 在Linux系统上安装Mosquitto,本人建议大家使用源码安装模式,最新的源码可从 http://mosquitto.org/files/source/ 地址中获取。解压之后,我们可以在源码目录里面找到主要的配置文件config.mk,其中包含了所有Mosquitto的安装选项,详细的参数说明如下: # 是否支持tcpd/libwrap功能. # WITH_WRAP:=yes # 是否开启SSL/TLS支持 # WITH_TLS:=yes # 是否开启TLS/PSK支持 # WITH_TLS_PSK:=yes # Comment out to disable client client threading support. # WITH_THREADING:=yes # 是否使用严格的协议版本(老版本兼容会有点问题) # WITH_STRICT_PROTOCOL:=yes # 是否开启桥接模式 # WITH_BRIDGE:=yes # 是否开启持久化功能 # WITH_PERSISTENCE:=yes #

【H3C实验】链路聚合技术入门

送分小仙女□ 提交于 2021-01-13 07:30:48
最近经常遇到一个问题,大家经常问,链路聚合为什么做不成功啊,总显示有未命中端口啊,等等一些相关的问题。 今天咱们就一起来讨论一下链路聚合技术: 首先,大家要明确一个概念,聚合,其实就是捆绑, 我们将多根链路,通过使用聚合技术之后,形成一个高速链路。 这样有什么好处呢? 第一,可以增加带宽,比如两根4M链路进行聚合,那么就会形成一个8M的高速链路。 第二,大功能是什么呢,就是备份,在聚合组当中只要有一根链路正常,那么网络就不会中断。提高了网络的可靠性,必要时还可以实现负载分担。 以上是链路聚合的功能 下面我们来看一些具体知识点: 比如聚合端口和成员端口 首先创建聚合组 聚合端口就是聚合组对应的一个逻辑接口 加入聚合组的以太网接口就称为聚合组的成员端口 大家在进行聚合的时候往往会出现一个问题,就是聚合不成功。 通过display link-aggregation summary或者display link-aggregation verbose命令来发现是否有未命中端口。 在SE课程中,我们提到,有很多配置会影响端口加入聚合组,下面我们来看一下影响端口加入聚合组的常见参数。 1、端口隔离 端口是否加入隔离组、端口所属的端口隔离组 2、QinQ配置 端口的QinQ功能开启/关闭状态、VLAN Tag的TPID值、VLAN透传。关于QinQ配置的详细描述请参见“二层技术-以太网交换配置指导

iOS

*爱你&永不变心* 提交于 2021-01-13 07:20:59
iOS 13 支持适配的机型 目前最新 iPhone 11、iPhone 11 Pro和iPhone 11 Pro Max iPhone X、iPhone XR、iPhone XS、iPhone XS Max iPhone 8、iPhone 8 Plus iPhone 7、iPhone 7 Plus iPhone 6s、iPhone 6s Plus iPhone SE iPod touch (第七代) 适配要求 Starting April, 2020, all iPhone and iPad apps submitted to the App Store will need to be built with the iOS 13 SDK or later. They must also support the all-screen design of iPhone XS Max or the 12.9-inch iPad Pro (3rd generation), or later. 根据官网的说法,2020年4月之后所有提交到 App Store 的 iPhone 和 iPad 应用必须使用 iOS 13 以上的 SDK 进行编译,并支持 iPhone Xs Max 或 12.9 寸 iPad Pro (3代) 及以后版本的全屏幕设计。 一、UI层面 注:必须适配的点以“(必须

docker 网络模式

爱⌒轻易说出口 提交于 2021-01-11 21:11:15
当你安装完Docker时,它会自动创建三个网络。 docker network ls 结果应如下: NETWORK ID NAME DRIVER SCOPE 594430d2d4bb bridge bridge local d855b34c5d51 host host local b1ecee29ed5e none null local Docker内置这三个网络,运行容器时,你可以使用该来指定容器应连接到哪些网络。 我们在使用docker run创建Docker容器时,可以用--network标志 选项指定容器的网络模式,Docker有以下4种网络模式: host模式:使用 --net=host 指定。 none模式:使用 --net=none 指定。 bridge模式:使用 --net=bridge 指定,默认设置。 container模式:使用 --net=container:NAME_or_ID 指定。 host Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。