自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 LVS的FULLNAT模式

LVS的FULLNAT模式fullnat模式原理:fullnat模式和nat模式比较类似,客户端的请求和响应都会经过lvs,不同的是nat模式下转换仅存在于目的方向,也就是说客户端的发来的请求经过lvs后,请求的目的ip会转化成rs的ip地址,目的端口会转化成rs的目的端口,而在fullnat模式下,客户端发来的请求的源ip和源端口都会被转换成lvs的内网ip地址和端口,同理对于...

2019-08-23 10:19:41 2471

原创 LVS的NAT模式

上次总结了DR模式的转发流程这次模拟一下LVS的NAT模式来抓包分析一下流程LVS NAT原理类似于防火墙的私有网络结构,Director Server作为所有服务器节点的网关,即作为客户端的访问入口,也是各节点回应客户端的访问出口,其外网地址作为整个群集的VIP地址,其内网地址与后端服务器Real Server在同一个物理网络,Real Server必须使用私有IP地址。数据包流...

2019-08-23 10:16:57 916 1

原创 LVS的DR模式

一、负载均衡LVS基本介绍LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org。LVS是Linux内核标准的一部分。LVS是一个实现负载均衡集群的开源软件项目,通过 LVS 的负载均衡技术和 Linux操作系统可以实现一个高性能高可用...

2019-08-23 10:14:11 786

原创 lvs的keepalived原理

keepalived原理:keepalived可以提供vrrp以及health-check功能,vrrp可以实现多个lvs之间的热备高可用功能,让vip在多个lvs之间浮动,也就是当一个主lvs宕机后,vip会漂移到另外一个备用的lvs上,保证了lvs的高可用性,health-check是lvs对RS的健康检查,可以通过指定的URL周期性请求信息来实现健康检查,或者是周期性的建立TCP连接来实...

2019-08-23 10:07:16 826

原创 DPVS DR模式处理流程

DR模式的原理通过上篇笔记已经了解的比较透彻了,只不过是用的LVS来模拟进行抓包分析的,但是DR模式的原理是一样的,所以先跟着DPVS的源码了解一下DPVS实现DR模式的流程(这次分析主要跟着DR模式的处理流程走,会跳过其他的处理流程)。先跳过DPVS的启动流程,从main函数的netif_lcore_start()函数开始分析,从这个函数开始DPVS的收发过程就开始启动,这个函数内容如下i...

2019-08-23 09:58:53 1623

原创 dpvs安装步骤

安装dpvs的时候也遇到了不少问题,这里总结一下dpvs的安装步骤,安装的时候是用虚拟机来安装的。使用的系统镜像是CentOS-7-x86_64-Minimal-1810.iso。一、配置网络 nmtui # 图形界面配置网络 service network restart yum update yum provides ifconfig yum in...

2019-08-23 09:46:12 1295

原创 基于DPDK实现二层交换

上次分析了DPDK的l2fwd的源码,l2fwd实现了相邻两个端口之间的二层交换,入端口和出端口的关系是通过一个数组来实现的,从某一个端口进只能从一个固定的端口出。于是想到对其转发的规则做出修改就能实现一个二层交换机,也就是说在l2fwd中创建一个mac表,这个表中存储了每一个端口上的主机的mac地址,然后当l2fwd收到一个数据包的时候就能够根据mac表将数据包从对应的端口转发出去从而实现了二层...

2019-08-23 09:40:37 1941 2

原创 DPDK的l2fwd实例分析

l2fwd应用程序为RX_PORT上接收的每个数据包执行二层转发。 目标端口是启用的端口掩码的相邻端口,即,如果启用前四个端口(端口掩码0xf,每个端口用一个比特位表示,启动4个就是4个比特位置1),端口1和2相互转发,端口3和4相互转发。 此外,如果启用了MAC地址更新,则MAC地址按照如下方式更新:数据包的源mac会变成发送端口的mac地址数据包的目的mac会变成02:00:00:00...

2019-08-23 09:23:33 6003 2

原创 在centos7虚拟机上运行DPVS发生的CPU亲和性设置问题

问题:在centos7虚拟机上编译完成dpvs后,运行发现出现了如下错误: [root@localhost bin]# ./dpvs fail to set thread affinty: Invalid argument set_all_thread_affinity failed 查看dpvs的main.c文件可以看到报错位置如下: ...

2019-08-23 09:17:09 1410

原创 pcap包结构&SNI字段的解析

pcap文件格式是常用的数据报存储格式,包括wireshark在内的主流抓包软件都可以生成这种格式的数据包。 文件格式: Pcap文件头(24字节)+数据包头(wireshark增加的)+数据包(网络中抓取的)+……1.pcap文件头结构各字段说明:Magic:4B:0×1A 2B 3C 4D:用来识别文件自己和字节顺序。0xa1b2c3d4用来表示按照...

2019-08-23 09:10:58 3445

原创 Internet socket和Unix socket

socket是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。UNIX/Linux 中的一切都是文件,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。为了表示和区分已经打开的文件,UNIX/Linux 会给每个文件分配一个 ID,这个 ...

2019-08-22 15:16:30 665

原创 java与c语言的内存对比

问题来源由于本人经常用java进行开发,对c语言的开发不是很熟悉,在用c语言写一个返回数组的函数的时候踩到了坑,具体问题如下:这是一个普通的java函数,用来返回一个数组:用java语言在一个方法中创建一个数组,并进行初始化,编译以后可以运行通过public class GetArray { public static int[] getArray(){ int[] a = {...

2019-08-22 15:14:59 1578 1

原创 三层交换下主机间的通信

实验环境:GNS3三层交换 三层交换的主要设备是路由器,交换机转发数据包主要是根据路由表来转发的。拓扑图总体来看,在三层交换时有如下三种情况:1. 通信主机在同一个子网,如PC1 ping PC22. 通信主机不再同一个子网,但是这两个子网在同一个路由器上,比如PC1 ping PC33. 通信的主机不在同一个子网,并且这两个子网也不在同一个路由器上,比如PC...

2019-08-22 14:50:12 803

原创 二层交换下主机间的通信

实验环境:GNS3二层交换 二层交换的主要设备是交换机,交换机转发数据包主要是根据MAC表来转发的。拓扑图总体来看在二层交换的情况下主要有以下几个步骤:1.各主机设置IP地址,并通过ARP广播来检测IP地址是否被重复使用,同时交换机根据各主机的ARP广播的源MAC地址来学习各主机的位置。2.主机A和主机B通信的时候,主机A查询自己的ARP表,如果ARP表中没有查询...

2019-08-22 14:48:25 3220

原创 在SDN网络中基于Redis的转发路径缓存

在SDN架构下,交换机是根据流表来对数据转发的,如果交换机收到的数据包在流表中不能匹配,就会产生Packet-in消息来询问控制器,控制器根据自己已存储好的网络拓扑信息来产生相应的流表下发给交换机,交换机根据流表来对数据包进行转发,主流的SDN控制器都有相应的模块来根据自己的网络视图以及交换机的Packet-in消息来产生相应的流表,比如opendaylight用l2-switch模块产生相应的流...

2019-04-22 14:57:05 702

原创 ODL中notification开发过程

    本文记录了ODL控制器中Notification的开发过程1. Yang文件的编写首先在api目录构建自己的yang文件:packetsend.yang 在yang文件里边编写notification服务// Contents of "packetsend"module packetsend {    namespace "urn:opendaylight:packetsend";    ...

2018-05-15 11:11:13 1287 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除