
云计算
文章平均质量分 82
openstack
阿狸的家
我是阿狸,INTJ,一个专注自我提升的笔记博主
展开
-
ovs/ovs-dpdk三级缓存和硬件卸载
1.数据包到达网卡 → 2. 网卡触发硬件中断通知CPU → 3. CPU 暂停当前任务,执行中断处理程序(ISR)→ 4. ISR 将数据包从网卡缓冲区DMA复制到内核内存(sk_buff) → 5. 唤醒协议栈处理线程(如软中断 softirq)→ 6. 协议栈处理数据包 → 7. 数据传递到上层应用。原创 2025-02-06 11:27:47 · 953 阅读 · 0 评论 -
ovs实现lb负载均衡
负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上,以确保系统的负载均衡。二层负载均衡:使用虚拟MAC地址方式,根据OSI模型的二层进行负载均衡。四层负载均衡:基于IP+端口的负载均衡,主要分析IP层及TCP/UDP层,实现四层负载均衡。七层负载均衡:从应用层开始,根据虚拟的URL或IP、主机名接收请求,再转向相应的处理服务器。原创 2025-01-20 18:08:08 · 686 阅读 · 0 评论 -
OVS流表转发DNS流量
由于 IP 地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过域名解析协议(DNS,Domain Name System)来将域名和 IP 地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的 IP 地址数串。...原创 2022-08-06 16:51:56 · 771 阅读 · 0 评论 -
OVN架构
OVN VS Neutron原创 2022-07-31 09:47:55 · 2013 阅读 · 0 评论 -
OVSDB
ovsdb是ovs的重要组成部分原创 2022-07-24 14:34:43 · 2475 阅读 · 0 评论 -
OVS流表转发DHCP流量
DHCP协议及报文动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,目的就是为了减轻TCP/IP网络的规划、管理和维护的负担,为局域网内部的设备分配IP地址、子网掩码、网关、DNS地址等网络信息。DHCP功能分为两个部份:一个是服务器端,端口号67 ,而另一个是客户端,端口号68DHCP的8种报文:①:DHCP DISCOVER:这是 DHCP 客户端首次登录网络时进行 DHCP 过程的第一个报文,用来寻找 DHCP 服务器。②:DHCP OFFER:DHCP服务原创 2022-03-19 15:29:34 · 4587 阅读 · 0 评论 -
OVS CT连接追踪实现NAT
OVS CT连接跟踪(connection tracking)CT连接跟踪中所说的“连接”,概念和 TCP/IP 协议中“面向连接”( connection oriented)的“连接”并不完全相同TCP/IP 协议中,连接是一个四层(Layer 4)的概念。TCP 是有连接的,或称面向连接的(connection oriented),发送出去的包都要求对端应答(ACK),并且有重传机制UDP 是无连接的,发送的包无需对端应答,也没有重传机制CT 中,一个元组(tuple)定义的一条数据流(flo原创 2022-03-12 10:27:18 · 9656 阅读 · 2 评论 -
OVS learn学习
OVS Learn流表学习交换机可以进行数据高效转发得益于mac地址表,每当有数据包经过交换机都会有个学习的过程,由于包里面有MAC,VLAN Tag,以及从哪个口进来的这个信息,交换机会记下数据包源mac地址,从交换机哪个口进入,所属vlan,维护了一个表格port –> MAC –> VLAN Tag,当然也会有老化时间,以备设备更新或下线这样以后如果有需要发给这个MAC的包,不用ARP,交换机知道应该发给哪个port,应该打什么VLAN Tag。OVS中的learn功能也是这个原理,原创 2022-01-23 13:22:35 · 1690 阅读 · 0 评论 -
OVS流表实现arp代答
物理拓扑1、PC封包:源ip:10.1.1.2,目的ip:20.1.1.2,源mac:fe:fe:fe:fe:fe:aa,目的mac:不知道,此时数据层将这个不完整的包缓存,发arp报文,注意,主机内核会检测到是跨网段访问,arp请求的是网关ip对应的mac2、ARP报文组成:数据层(源mac:fe:fe:fe:fe:fe:aa,目的mac:ff:ff:ff:ff:ff:ff)+ ARP头部(发送者ip:10.1.1.2,发送者mac:fe:fe:fe:fe:fe:aa,接收者ip:10.1.1.2(原创 2022-01-08 18:44:54 · 4176 阅读 · 2 评论 -
OVS Group组表
group作用1、存储多个动作:group匹配到一个合适的动作后可以执行多个动作,优化了流表一个匹配+一个动作的工作模式2、流量复制:group可将流量复制成多份,在广播、组播中广泛使用3、设置备用路径:group可对一条flow设置备份出接口,当识别主接口down,自动切换到备用出接口4、负载分流:group可以选择动作中的一个执行group组成Group Identifier:uint32,组表在交换机中的身份Group Type:组的类型Counters:数据包被组处理时跟新数值Ac原创 2022-01-02 11:00:13 · 2778 阅读 · 0 评论 -
resubmit和goto区别
一、resubmit和goto定义resubmit官方定义:goto官方定义:二、resubmit和goto区别根据官方文档定义我们可知,resubmit和goto都用作在流表间跳转,区别是goto只能跳转到当前table编号之后的流表,而resubmit没有限制三、resubmit和goto使用场合在一些场合下只能使用gotoovs-ofctl add-flow anet-br -O OpenFlow13 "table=5,priority=200,ip actions=write_me原创 2022-01-01 12:37:33 · 1487 阅读 · 0 评论 -
ovs流表实现icmp网关代答
ovs流表设计虚拟机 ping 任何ip前要发送arp广播请求目的mac,icmp报文对于同网段返回真实mac,对于其他网段返回的是网关的mac利用ovs流表将收到的icmp request报文,修改为icmp reply报文并原路返回cookie=0x0, duration=336.660s, table=17, n_packets=6, n_bytes=588, priority=24576,icmp,metadata=0xa/0xffffff,nw_dst=10.1.1.1,icmp_type=原创 2022-01-01 12:19:50 · 2085 阅读 · 4 评论 -
onos在公有云应用
公有云基本概念Region区域,机房所在物理位置AZ可用区,对region的细分,region下某个具体机房VPC私有网络Virtual Private Cloud (VPC)是对云上的网络空间进行隔离,用户在云上的资源可以托管在vpc,一个vpc内的虚拟机是互通的,计算节点使用onos实现不同宿主机之间互通,一个vpc只能属于一个regionSubnet子网,对vpc进行细分,每个subnet对应一个azTenant租户,可以购买云上网络资源,一个租户可购买多个vpc,但vpc直接彼此原创 2021-09-09 12:31:43 · 452 阅读 · 0 评论 -
K8s网络模型
Docker网络模型容器容器不是模拟一个完整的操作系统,而是对进程进行隔离,对容器里的进程来说它接触到的各种资源都是独享的,比虚拟机启动快、占用资源少。DockerDocker是对Linux底层容器技术的封装,提供容器使用接口,docker将应用程序和该程序的依赖打包在同一个文件,即Docker image,运行Docker image就会生成一个Docker容器,程序在容器里运行就像在物理机或者虚拟机一样。容器与虚拟机对比虚拟机要模拟整台机器的操作系统,包括硬件资源;容器和主机共享操作系统,容原创 2021-07-18 16:36:27 · 3205 阅读 · 2 评论 -
ETCD实现及原理分析
etcd的优点:高可用性:保存各个服务的部署,运行信息,若他出现故障可导致集群无法变更,业务瘫痪数据一致性:集群之间没有单点故障,多节点之间保障数据一致性低容量:通过内存树仅存储key版本数据,value数据存储在内存增删改查功能:还可以监听数据变化运维的可维护性:提供API变更节点,降低运维成本从高可用、数据一致性、增删改查功能角度,zookeeper也是满足需求的,但是zookeeper不支持通过API变更,运维成本比较高,其次zookeeper是java编写,部署繁琐,zookeer使原创 2021-04-29 21:44:08 · 3799 阅读 · 1 评论 -
Linux网络虚拟化
一、network namespaceLinux的namespace作用是隔离内核资源,而network namespace作用是隔离Linux系统的设备,包括IP地址、端口、路由表、防火墙等资源,docker作为轻量级虚拟化容器,它的隔离能力来自Linux内核的namespa技术。从网络的角度看每个容器都有自己的虚拟设备,容器里的进程不必担心端口冲突,可使一个主机上同时运行多个服务监听相同端口。network namespace可以通过系统调用来创建,目前已集成到ip工具的netns子命令中1.原创 2021-04-12 21:43:06 · 1053 阅读 · 0 评论 -
基于underlay和overlay转换的四层负载均衡
四层负载均衡负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。实现方式通过发布三层的 IP 地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行 NAT 处理,转发至后台服务器,并记录下这个 TCP 或者 UDP 的流量是由哪台服务器处理的,后续这个连接原创 2021-01-16 10:10:44 · 837 阅读 · 0 评论 -
OpenVSwitch下发安全组流表
安全组1、安全组是一种虚拟防火墙,具备有状态的数据包过滤功能,用于设置云服务器、负载均衡、数据库等实例的网络访问控制,是重要的网络安全隔离手段。您可以通过配置安全组规则2、安全组是一个逻辑上的分组,可以将同一地域内具有相同网络安全隔离需求的基础网络云服务器或弹性网卡实例加到同一个安全组内,允许或禁止安全组内的实例对公网或私网的访问3、安全组策略可以对实例的出入流量进行安全过滤,实例可以是基础网络云服务器或弹性网卡实例 ,修改安全组的规则后新规则立即生效。安全组和网络ACL的区别安全组网原创 2020-11-30 23:11:48 · 1835 阅读 · 0 评论 -
golang etcd服务注册与发现
产生场景服务端架构最前面是 一台网关节点 ,网关后面是多台运行着一样的 服务的计算节点,客户端一般就是访问网关 ,然后 网关 就把流量 转发到 后面的计算节点上。如果后面的计算节点信息处理不过来的时候,我们需要加机器,最low的方法就是 加上一台服务器,然后 修改网关服务器的配置表 加上 新加的 服务器的IP 和端口,然后重启网关。但如果后面的机器一旦down 了,网关是不知道的,还会把流量转发到 down的机器上,造成服务的不可用,etcd可以避免硬件的单点故障或网络问题etcd注册etcd 是一个原创 2020-07-05 12:14:31 · 4718 阅读 · 2 评论 -
DDMQ
GitHub链接:https://github.com/didi/DDMQDDMQ SDK目前支持Java、go、C/C++producerproducer:生产方,每个producer只能关联一个group,初始化prodecer时需要指定config文件,config里指定ProxyList,可以手动传递也可以自动发现,还可以指定连接池的数量,不建议修改,使用默认的大小50个已能满足大部分需求,如果设置的过小会影响生产的性能发送消息给mq有4种方式1、Send(TOPIC, STRING_ME原创 2020-06-20 22:13:59 · 2085 阅读 · 4 评论 -
shell脚本 查询转发接口、连接数据库、发送http请求
shell查询默认网卡,ip route和route -n的作用一样,都可以查出nc=$(ip route | grep default | awk '{print $5}') #查询默认网卡 if [[ x${nc} == "x" ]]; then #如果nc是否为空的,执行exit 1 退出 bomb "find_nc_error" fifuncti...原创 2020-04-19 18:21:08 · 1163 阅读 · 0 评论 -
openvswitch流表匹配原则(tp_dst跨端口)
参考链接:http://rpm.pbone.net/index.php3/stat/45/idpl/23319267/numer/8/nazwa/ovs-ofctl(英语好的建议看原文)in_port=portovs上的port接口名,可以通过ovs-ofctl show查看有哪些portdl_vlan=vlan匹配的vlan,范围是0-4095dl_vlan_pcp=priority...原创 2020-03-13 13:11:38 · 3059 阅读 · 0 评论 -
云计算简介
虚拟化虚拟化应用场景:以日常应用电脑来说,对cpu的使用率仅占2%,其余时间都是空闲状态,为了充分利用cpu资源,虚拟化应运而生,在一台电脑上安装虚拟化,可以通过2个显卡(GPU)连接2个VM,共享CPU资源虚拟化资源分类:①依赖于主机操作系统,在宿主机操作系统之上建立VM②裸金属架构,直接在硬件上建立VM云计算:随时可增加的服务器资源,主要分为计算、存储、网络三大部分KVM:Linu...原创 2020-03-07 23:00:53 · 1237 阅读 · 1 评论 -
openvswitch流表转发vxlan报文
vxlan:虚拟可拓展局域网产生条件:局域网3层架构都是有冗余的,但要防止环路又不能使用STP(因为数据中心的每一个链路都是核心带宽,阻塞接口代价太大)3层可以用ospf和isis协议天然防环,因为使用SPF算法虚拟化技术产生:对于一些低流量网站,没有充分发挥高性能服务器(刀片服务器)的作用,可以将服务器虚拟化成2个供其他网站使用,每一个虚拟机就是一个服务器,共享硬件资源,CPU使用率改变,能......原创 2020-03-01 10:26:07 · 5639 阅读 · 0 评论 -
3种在vm内开启临时服务端口
需求描述:测试流表的访问控制tcp测试环境搭建:在一台vm内端口临时开启tcp/udp服务,另一台测试vm通过telnet到指定端口tcp测试方式(服务器端):1、python -m SimpleHTTPServer 8000 &2、nc -lv 本机ip -p 8000 & (-l 是指定server端,-v是显示解析过程,-p是指定端口)3、ip...原创 2020-02-19 13:20:57 · 860 阅读 · 0 评论 -
netns命名空间使用
在linux系统中通过netns创建虚拟主机,作用同VM,相比于VM其优势是随时创建,随时删除,操作方便增加虚拟网络命名空间vm,vm是命名空间的名字,可以随意起,就创建了一台虚拟nsip netns add vm显示物理机里的命名空间,加不加list都行,显示刚创建的vmip netns (list)进入netns,也可以不进入但执行每一个ip link都需要在前面加上ip...原创 2020-02-08 18:19:09 · 668 阅读 · 0 评论 -
VM和vnet关联
物理机上ifconfig查看接口显示的vnet接口的mac地址与VM的mac地址不一致假设vnet的mac地址:aa:80:e3:2d:5tVM对应的mac地址就是:fe:80:e3:2d:5t (只要找到以fe开头,后面的都一致的mac即匹配)查询vnet口后5行:ifconfig | grep -A 5aa:80:e3:2d:5t 查询vnet口前5行:i...原创 2020-01-23 14:46:16 · 675 阅读 · 0 评论