端口转发

交换机的生成树STP原理

自作多情 提交于 2020-02-28 03:36:28
生成树协议: 企业网三层架构—》冗余----》线路冗余—》二层桥接环路 导致问题: 1、广播风暴 2、MAC地址表翻滚 3、同一数据帧的重复拷贝 4、以上3个条件最终导致设备工作过载,导致重启保护 生成树:在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用; 生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树; 存在算法: 802.1D PVST PVST+(CISCO) RSTP(802.1w) MSTP(802.1S) 一、802.1D 一个交换网络内仅存在一棵生成树实例; 交换机间使用BPDU—桥协议数据单元 – 交换机间沟通互动收发的数据 配置BPDU—只有根网桥可以发送,在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送;使得网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥;再所有非根网桥不再发送BPDU,而是仅接收和转发根网桥的BPDU;周期2s发送,hold time 20s; TCN—拓扑变更消息(也是BPDU): 本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,将向本地所有STP接口发送TCN(标记位中的TCN位置1),邻居交换机收到TCN后,先标记为ACK位为回复

Kubernetes服务篇

被刻印的时光 ゝ 提交于 2020-02-27 03:44:13
前言 上文介绍了 Kubernetes副本机制 ,正是因为副本机制你的部署能自动保待运行,并且保持健康,无须任何手动干预;本文继续介绍kubernetes的另一个强大的功能 服务 ,在客户端和pod之间提供一个服务层,提供了单一的接入点,更加方便客户端使用pod。 服务 Kubernetes服务是一种为一组功能相同的pod提供单一不变的接入点的资源;当服务存在时,它的IP地址和端口不会改变,客户端通过IP地址和端口号建立连接,这些连接会被路由到提供该服务的任意一个pod上; 1.创建服务 服务的连接对所有的后端pod是负载均衡的,至于哪些pod被属于哪个服务,通过在定义服务的时候设置标签选择器; [d:\k8s]$ kubectl create -f kubia-rc.yaml replicationcontroller/kubia created [d:\k8s]$ kubectl get pod NAME READY STATUS RESTARTS AGE kubia -6d xn7 0 / 1 ContainerCreating 0 4s kubia-fhxht 0 / 1 ContainerCreating 0 4s kubia-fpvc7 0 / 1 ContainerCreating 0 4s 使用之前的yaml文件创建pod,模版中设置的标签为 app: kubia

STP

旧时模样 提交于 2020-02-27 02:38:24
一、 STP 1.1STP出现的背景 STP是一个用于局域网中消除环路的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。由于局域网规模的不断增长,STP已经成为了当前最重要的局域网协议之一。 在上图的网络情况中,会产生如下三种情况 广播风暴 假设交换设备上没有启用STP协议。如果HostA发出广播请求,那么广播报文将被其他两台交换设备的端口port1接收,并分别从端口port2广播出去,然后端口port2又收到另一台交换设备发过来的广播报文,再分别从两台交换设备的端口port1转发,如此反复,最终导致整个网络资源被耗尽,网络瘫痪不可用。 MAC地址表不稳定 假设上图所示的网络中没有广播风暴,HostA发送一个单播报文给HostB,如果此时HostB临时从网络中移去,那么交换设备上有关HostB的MAC地址表项也将被删除。此时HostA发给HostB的单播报文,将被交换设备S1的端口port1接收,由于S1上没有相应的MAC地址转发表项,该单播报文将被转发到端口port2上,然后交换设备S2的端口port2又收到从对端port2端口发来的单播报文,然后又从port1发出去。如此反复,在两台交换设备上,由于不间断地从端口port1、port2收到主机A发来的单播报文,交换设备会不停地修改自己的MAC地址表项,从而引起了MAC地址表的抖动

MySQL使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 16:04:18
1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases/ 2 环境: 系统:CentOS7.5 ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:MySQL 5.7.22 ProxySQL主机IP:192.168.1.101 Mysql主库IP:192.168.1.102 Mysql从库IP:192.168.1.103 3 前提条件: 防火墙和selinux已关闭; Mysql主从同步已经配置完成; 4 安装ProxySQL: 4.1 安装 # 配ProxySQL源 [root@ProxySQL ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo [proxysql_repo] name= ProxySQL baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever gpgcheck=1 gpgkey=http://repo.proxysql.com

kubernetes用户态TCP代理实现

点点圈 提交于 2020-02-26 03:53:49
在k8s中针对service的访问通常基于kube proxy实现负载均衡,今天我们来探索下基于用户态的TCP代理组件的工业级实现核心设计, 其中包括随机端口生成器、TCP流复制等技术的核心实现 1. 基础筑基 今天主要是聊用户态的转发,而基于内核态的先不聊 1.1 流量重定向 流量重定向通常是指通过内核的netfilter来对数据包进行拦截,将其定向到我们指定的端口,实现对流量的劫持,从而针对流量里面的一些数据包进行一些额外的处理,这个过程对应用来说是完全透明的 1.1.1 目的地址重定向 目的地址重定向是指将针对某个IP或者某个端口的流量,进行重定向,从而实现流量发送的处理,在kube proxy中主要是通过REDIRECT来实现 1.1.2 目标地址转换 目标地址转换主要是指针对REDIRECT出去返回的流量,需要做一个重定向操作,即将其地址返回给本地的代理服务,由本地的代理服务再去实现转发给真正的应用 1.2 TCP代理实现 1.2.1 随机端口 随机端口是指我们要为为对应的Service建立一个一个临时的代理服务器,该代理服务器需要随机选择一个本地端口进行监听 1.2.2 流复制 代理服务器需要将要本地服务发送的数据复制的目标服务, 同时接收目标服务返回的数据,复制给本地服务 2. 核心设计实现 2.1 随机端口分配器 2.1.1 核心数据结构

超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形

旧时模样 提交于 2020-02-26 03:21:49
本文将帮助你厘清在Kubernetes中调试 deployment的思路。下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复“ troubleshooting ”。 当你希望在Kubernetes中部署一个应用程序,你通常需要定义三个组件: Deployment——这是创建名为Pods的应用程序副本的方法 Serivce——内部负载均衡器,将流量路由到Pods Ingress——可以描述流量如何从集群外部流向Service 接下来,我们通过图片快速回顾一下。 在Kubernetes中,你的应用程序通过两层负载均衡器暴露:内部和外部。 内部负载均衡器称为Service,而外部负载均衡器则称为Ingress。 Pod未直接部署,因此,Deployment创建Pod并监视它们。 假设你想部署一个简单的Hello World应用程序,那么对于此类应用程序,其YAML文件与以下类似: apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment labels: track: canary spec: selector: matchLabels: any-name: my-app template: metadata: labels: any-name: my-app spec

三层交换技术

家住魔仙堡 提交于 2020-02-25 18:20:02
编辑 随着Internet的 发展 , 局域网 和 广域网技术 得到了广泛的推广和应用。 数据交换技术 从简单的电路交换发展到二层交换,从二层交换又逐渐发展到今天较成熟的三层交换,以致 发展 到将来的高层交换。 三层交换技术就是:二层交换技术+三层转发技术。它解决了局域网中 网段 划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。 中文名 三层交换技术 别 称 多层交换技术 简 介 二层交换技术+三层转发技术 相 对 传统交换概念 目录 1 概念 ▪ 产生 ▪ 交换原理 ▪ 种类 ▪ 选型 2 应用实例 ▪ 横向比较 ▪ 发展前景 3 概述 ▪ 起源 ▪ 交换技术 ▪ 比较 ▪ 变革 ▪ 演变 4 不足 5 前景分析 6 技术链接 7 控制列表 8 服务质量 9 功能 概念 编辑 三层交换(也称多层交换技术,或IP交换技术)是相对于传统交换概念而提出的。众所周知,传统的交换技术是在OSI 网络标准 模型中的第二层—— 数据链路层 进行操作的,而三层交换技术是在 网络模型 中的第三层实现了 数据包 的高速转发。简单地说,三层交换技术就是:二层交换技术+三层转发技术。 三层交换技术的出现,解决了 局域网 中 网段 划分之后,网段中子网必须依赖 路由器 进行管理的局面,解决了传统路由器低速、复杂所造成的 网络瓶颈 问题。 产生

linux下ssh和sshd-RH124学习笔记

六月ゝ 毕业季﹏ 提交于 2020-02-25 15:24:54
什么是ssh? Secure Shell,协议 作用:数据在网络中可以加密传输 实现:openssh 客户端:openssh-client 服务器端:openssh 端口:22 实现:dropbear 远程登录 telnet 明文 客户端:telnet 服务器端:telnet-server 端口:23 默认情况下,禁止用root使用telnet登录系统 生产环境中使用telnet,测试和目标主机的指定端口是否可以正常的通信,也就是测试目标主机的指定端口是否开放(通过端口来判断服务是否处于开启状态) 进程 守护进程:一个服务维护一个进程,让进程工作在后台,每个进程都有自己的服务,可用service服务名 start|stop...进行管理 超级守护进程:一个服务维护多个进程 xinetd 瞬时守护进程:由超级守护进程负责管理的子进程就是瞬时守护进程 telnet 瞬时进程没有自己的服务,他的启动和管理依赖xinetd ssh telnet scp 总结:ssh的功能 1、远程登录 2、远程文件传输 3、类似于ftp的文件传输功能,sftp ssh的客户端和服务器端 ssh安全 ssh v1 <<废弃 RSA ssh v2 RSA DSA 如何通过公钥来判断服务器是合法的? ssh的配置文件 客户端配置文件:/etc/ssh/ssh_config 服务器端配置文件 /etc/ssh

iptables配置——NAT地址转换

别等时光非礼了梦想. 提交于 2020-02-23 13:52:40
iptables nat 原理 同filter表一样,nat表也有三条缺省的"链"(chains): PREROUTING:目的DNAT规则 把从外来的访问重定向到其他的机子上,比如内部SERVER,或者DMZ。 因为路由时只检查数据包的目的ip地址,所以必须在路由之前就进行目的PREROUTING DNAT; 系统先PREROUTING DNAT翻译——>再过滤(FORWARD)——>最后路由。 路由和过滤(FORWARD)中match 的目的地址,都是针对被PREROUTING DNAT之后的。 POSTROUTING:源SNAT规则 在路由以后在执行该链中的规则。 系统先路由——>再过滤(FORWARD)——>最后才进行POSTROUTING SNAT地址翻译 其match 源地址是翻译前的。 OUTPUT:定义对本地产生的数据包的目的NAT规则 ========================内网访问外网 -J SNAT============================ -j SNAT -j SNAT:源网络地址转换 ,SNAT就是重写包的源IP地址 SNAT 只能用在nat表的POSTROUTING链里 only valid in the nat table, in the POSTROUTING chain. -j SNAT --to-source ipaddr[

iperf详细使用方法

ぐ巨炮叔叔 提交于 2020-02-23 11:20:01
Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽, 具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 Iperf使用方法与参数说明 参数说明 -s 以server模式启动,eg:iperf -s -c host 以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23 通用参数 -f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K -i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2 -l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16 -m 显示tcp最大mtu值 -o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt -p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999 -u 使用udp协议 -w 指定TCP窗口大小,默认是8KB -B 绑定一个主机地址或接口