
VNF/SDN
文章平均质量分 63
虚拟网络功能/软件定义网络
Turbock
本人主要从事VNF/SDN(Network),Cloud方向;个人博客https://turbock79.cn;
优快云网址https://blog.youkuaiyun.com/turbock
展开
-
BGP建立连接问题排查
BGP 建立连接ACTIVE或CONNECT状态修复,需要依次排查如下:物理线是否正常,IP基础配置是否正确;排查防火墙是否拦截,是否需要关闭service firewall stop, 或者修改指定条目放开179端口;排查路由是否准确,静态路由或默认路由;如果建立EBGP,排查ebgp是否需要添加多跳;查看双方BGP建联的配置是否准确,例如AS号,IP地址等;neighbor地址是否能互相ping通,如果是基于vrf的建联,需要能够通过vrf ping通;刷新缓存clear ip bgp原创 2021-01-26 14:04:36 · 1520 阅读 · 1 评论 -
VPP与FRR基于Linux网络协议栈通信(vrf方式)
VRF (Virtual Routing and Forwarding)使同一系统下拥有多种且独立的路由表。在LINUX的内核中,从4.3版本已开始支持VRF,若需要较好支持vrf功能,建议Linux操作系统内核版本4.8以上。操作环境:本文操作系统采用CentOS8,已经安装iproute2。如下将创建一个veth对,并将其分别绑定到两个不同VRF,然后互相ping通IP;1. VETH打通不同VRF的基础配置# 1.创建vrf表red和blue并分别启动ip link add blue原创 2021-01-04 11:30:16 · 5661 阅读 · 0 评论 -
SDN与NFV区别
SDN与NFV是两种完全独立的创新技术,只不过SDN的很多目标都与NFV一致,因而两者能够相互促进并协同应用。 对于供应商提供的传统网络设备来说,控制平面、数据平面和硬件平面都紧密集成在一起,无法独立扩展这些设备。从下图可看出,SDN和NFV在两个不同的维度发挥作用。1. 核心理念SDN重点是实现控制平面和转发平面的分离,并通过独立的控制平面来管理、控制和监控转发平面。NFV重点是将网络功能从供应商提供的硬件设备相分离,便于用硬件来运行网络功能的软件。2. 作用范围SDN跟NFV最原创 2020-12-11 13:56:57 · 6806 阅读 · 0 评论 -
VPP中SRv6的多场景实验
1. 中间P节点不支持SRv61.1. 拓扑图及概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vWfQsNok-1603959515222)(https://turbock79.cn/wp-content/uploads/2020/10/vpp_srv6_p1-1024x350.png)]VPP中基础命令参考vpp# show sr localsids//显示SRv6的本地policyvpp# show sr policies//显示SRv6的本地ste原创 2020-10-29 16:19:19 · 1507 阅读 · 1 评论 -
VPP中SRv6实验环境搭建及连通性测试
1.概述前置条件设置本地loop循环,并设置IPv6同localsids在同网段,一台;设置骨干网直连出口的IPv6地址(vrf默认为0),然后设置出口的IPv6静态路由,方向为对端方向;创建vrf表,客户路由表;开启并设置端口,绑定VRF以及添加IP;这步属于客户端路由表;实现SRv6模块需要进行如下一、二、三个主要设置。步骤一设置localsid,用于接收方向,对到达本地的报文设置最终解析终点及相关配置,主要设定解析数据包的动作,可以设置多个localsid,通过loop口统原创 2020-10-29 16:17:07 · 5692 阅读 · 4 评论 -
Linux创建操作网桥的两种命令及持久化
1.基础介绍1.1 简述1.2 网桥配置命令及安装(CentOS系统)2. brctl和bridge命令建桥2.1 brctl命令说明及范式2.2 brctl场景使用2.3 bridge命令及范式3.ip命令建桥3.1 ip命令建桥说明4.桥的持久化1.基础介绍1.1 简述什么是网桥 网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。它是Linux上用来做TCP/IP二层协议交.原创 2020-05-30 12:42:28 · 18006 阅读 · 2 评论 -
NFV网络功能虚拟化架构和基本概念(转载)
1. NFV网络功能虚拟化概述 网络虚拟化技术,即用软件来安装、控制、操作那些运行在通用硬件上的网络功能,融合了云和虚拟化技术,使得新一代网络业务拥有更好的伸缩性和自动化能力。这些新涌现的技术经常被不加区分地称为NFV(网络功能虚拟化,Network Functions Virtualiztion)和SDN(软件定义网络,Software Define Network),虽然二者有逐渐融合之势,但二者的初衷和架构并不相同:SDN起源于园区网,发展于数据中心,目的是将控制平面和转发平面分离,通过集中化转载 2020-09-25 17:42:16 · 7788 阅读 · 0 评论 -
虚拟网卡接口VETH(Virtual Ethernet )创建使用和绑定关系
1. veth创建与使用 VETH(Virtual Ethernet )是Linux提供的另外一种特殊的网络设备,中文称为虚拟网卡接口。它总是成对出现,要创建就创建一个pair。一个Pair中的veth就像一个网络线缆的两个端点,数据从一个端点进入,必然从另外一个端点流出。每个veth都可以被赋予IP地址,并参与三层网络路由过程,可以实现不同netns之间网络通信。# yum install -y iproute ##确保安装iproute工具$ ip netns add blue #创建命令空间原创 2020-09-23 23:19:49 · 2336 阅读 · 0 评论 -
BGP中跨VRF路由透传及RD和RT
BGP中跨VRF路由透传及RD和RTBGP中跨VRF路由透传及RD和RT1. VRF路由透传1.1. 需要参数1.2. 常用配置2. BGP中VRF路由透传实践2.1. PE(ProviderEdage)的BGP配置2.2. CE(ClientEdge)的BGP配置2.3. RR(RouteRelector)的BGP设置1. VRF路由透传 本节主要参考frr官方文档BGP VRF路由透传,对VRF透传概念进行翻译,加深对RD/RT概念理解,便于实现骨干网络间跨V原创 2020-09-23 23:08:02 · 7771 阅读 · 0 评论 -
VPP打包及自定义插件打包
VPP版本 20.01stable1.VPP打包及安装概述#在此之前一定要执行#安装依赖安装包make install-dep#下载安装第三方模块等make install-ext-deps##这步是打包命令make pkg-rpm #或是pkg-deb 随后,在vpp/build-root/目录中,可以看到已经打包好的文件; 通过yum install *.rpm命令...原创 2020-03-26 16:32:42 · 1383 阅读 · 0 评论 -
VPP之浅谈插件和使用(转载)
1.vpp版本笔者这里使用的vpp版本是最新git下来的,show version信息如下DBGvpp# show version vpp v19.04-rc0~531-g537e85d built by ych on localhost.localdomain at Wed Mar 27 10:17:26 CST 20192.插件介绍vpp的软件框架主要分为四个层面:top ...原创 2020-03-19 19:41:14 · 1932 阅读 · 0 评论 -
Linux网络控制命令汇总
1.ifconfig2.ip3.route4.ping5.telnet6.traceroute7.tcpdump8.netstat9.nc10.ss1.ifconfig1.1 查看已被激活的网卡的详细信息$ ifconfigeth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CFinet addr:10.0.0.253 Bcast:10.0.255.255 Mask:255.255.0.0inet6 addr: fe80::23.原创 2020-08-28 15:07:20 · 1119 阅读 · 0 评论 -
BGP深入理解
1.BGP属性2.BGP的三张表3.BGP应用场景4.BGP路由传递规则(很重要)!!!!5.宣告路由的方式6.BGP4中的IBGP7.BGP4中的EBGP8.BGP聚合9.BGP的防环机制10.解决水平分割11.BGP的PEER-GROUP配置方式1.BGP属性可支持ipv4和ipv6单播,也支持vpnv6等。2.BGP的三张表table邻居表 show ip bgp summary/neighborsBGP table转发数据库 show ip bgp.原创 2020-05-29 22:41:16 · 651 阅读 · 0 评论 -
FRR编译安装及配置
0. 编译安装问题排查1. 下载编译FRR方法2. 创建FRR 配置文件3. 安装 daemon 配置文件4. 编辑 /etc/frr/daemons 本文基于官方文档进行编译安装,其中部分爬坑过程在此记录一下,本文最新状态可点击查看源站文章链接。frr源码打包如果需要给frr打包rpm,可以参看官方文档Packaging Red Hat。frr二进制包直接安装如果读者需要直接采用rpm包安装,可以参看frr Release地址,直接下载rpm包,或者通过添加源来安装。# .原创 2020-06-30 11:33:42 · 9778 阅读 · 0 评论 -
DPDK编译及使用
软件(虚拟)交换机性能低下的主要原因是它们未经优化或设计用于处理和交换过高速率的数据包,而DPDK(Data Plane Development Kit, 数据平面开发工具包)则专门解决这个问题。在解释DPDK如何改善这种情况之前,需要回顾常规虚拟交换机存在的局限性。犹豫虚拟交换机对高速数据包的处理缺乏优化,因而导致数据包处理的过程中的很多步骤都要用到CPU,由于CPU需要处理多任务,因而其可用性(特别是超载的情况下)会出现性能瓶颈的问题。此外,虚拟交换机也无法高效实用系统内存,它们首先将数据包复制到.原创 2020-06-21 00:55:27 · 11001 阅读 · 0 评论 -
编译安装VPP及运行
1. VPP构建安装1.1 下载VPP及编译1.2 问题排查2. 配置运行vpp2.1 关闭待接管网卡接口2.2 安装NIC网卡驱动模块2.3 设置大页存储(可选步骤,可后期配置)2.4 接口绑定驱动(建议执行步骤,可不选)2.5 配置vpp(建议执行步骤,可不选)2.6 启动vpp2.7 创建网卡接口及IP地址本文基于VMware虚拟机环境,详细请参考本文源站地址。操作系统:CentOS7.6 Linux version 3.10.0-957.27.2.e.原创 2020-06-21 00:51:09 · 5892 阅读 · 17 评论 -
VPPSandBox中netlink和router编译
vpp自版本更新到19以上修改较大,很多东西无法支持,需要重新探索。例如我们计划采用的方案vppsb。在解决数据平面和控制平面分离的方案中,官方只有匹配VPP18.04版本的vppsb,19以上未支持。并官方bug罗列中表示无多余人在开发这块vppsb,日期为2019年7月。官方Git源 https://gerrit.fd.io/r/admin/repos/vppsbGitHub源 ht...原创 2020-03-22 13:10:05 · 2047 阅读 · 9 评论 -
VPP结合dnsmasq制作家庭路由器(CentOS+VPP+Dnsmasq)
1.前置条件准备2.配置vpp接管网口3.VPP中进行桥和nat配置4.主机配置默认路由5.配置DHCP服务6.配置DNS缓存服务1.前置条件准备 在此之前最好准备相关物理设备,或PC+物理网卡。选用dnsmasq作为轻量级dhcp服务,主要测试玩耍使用。相关文章,例如ubuntu系统可参考VPP官方相关文档。centos7.6系统可参考本文,源站链接。本文采用Centos系统,相关配置如下所述。#安装dnsmasq用于dhcp以及dns服务yum install -y dnsma.原创 2020-06-01 10:01:07 · 1151 阅读 · 0 评论 -
FRR与VPP路由和转发层面流程
首先了解一下VPP和FRR结合的架构如下图所示[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TlmGafp-1590764332456)(https://turbock79.cn/wordpress/wp-content/uploads/2020/04/vpp-frr-路由流程图.png)]参考文档:路由平面和转发平面分离:https://wiki.fd.io/view/VPP_Sandbox/routerFRR实现官方文档:https://github.com原创 2020-05-30 00:01:59 · 6432 阅读 · 0 评论 -
VPP中sNAT及dNAT
sNAT范式nat44 add address nat44 add address [- ] [tenant-vrf ] [twice-nat] [del]set interface nat44 in out [output-feature] [del]#sNat设置G0为出口nat44 add interface address G0#设置源nat的接口set interface nat44 in loop0 out G0#原创 2020-05-29 22:50:42 · 2181 阅读 · 0 评论 -
VPP之插件框架分析
1.实现使用模板插件操作系统CentOS7.6VPP20.01VSCode远程编译环境VPP官方文档首页:https://wiki.fd.io/view/VPPVPP官方文档增加插件方式:https://fd.io/docs/vpp/master/gettingstarted/developers/add_plugin.htmlVPP 20.01参考手册:https://docs....原创 2020-03-20 19:02:05 · 3307 阅读 · 0 评论 -
BGP中RT和TD的简单理解
个人理解是这样的RD,route distinguisher,类似于定义当前VRF名称的标志符名称的功能(起名字,标识名称),这样所有其他路由可以知道本地该vrf的名称;这样定义时, 仅有rd export命令,本AS网络发出数据包被打印该名称标记;RT,route target ,类似于本AS接受的和可以输出的VRF标识(接受进入或发出的标识名称),例如rt vpn both 7675...原创 2020-02-27 17:28:40 · 9418 阅读 · 3 评论 -
BGP学习总结笔记
1.BGP属性可支持ipv4和ipv6单播,也支持vpnv6等。2.BGP的三张表1.Neighbor table邻居表show ip bgp summary/neighbors2. BGP table转发数据库show ip bgp3. IP routing table路由表show ip route bgp3.BGP应用场景 应用BGP的环...原创 2020-02-19 22:08:25 · 2553 阅读 · 1 评论 -
BGP路径选择13条规则
选择weight值最高的路由;weight值为cisco私有属性,只在路由器本地生效,不会传递; 选择local-pref较大的路由;本地优先级属性只能在一个AS内部传递; 选择本地路由器产生的路由;始发于本地路由器的路由最为优先,也就是下一跳地址为0.0.0.0的路由; AS=PATH属性越短越优先; 依次选择origin属性为IGP>EGP&g...原创 2020-02-19 21:48:42 · 867 阅读 · 0 评论 -
BGP入门介绍
1.BGPBorder Gateway Protocol,边界网关协议,运行在自制系统间的路由协议,主要作用交换域间路由协议;2.IBGPInternel BGP,内部边界网关协议,如果两个交换BGP报文的对等实体属于同一个自治系统,那么这两个对等实体就是IBGP对等实体;3.EBGPExternel BGP,外部边界网关协议,如果两个交换BGP报文的对等实体属于不同的自治系统...原创 2020-02-19 21:47:15 · 623 阅读 · 0 评论 -
VPP与FRR通过Linux内核沟通机制调研(netns方式,非vrf)
实验环境:操作系统Centos7.6,原生Linux系统内核版本3.10;实现租户路由域间通信的方式选择——vrf与netns之间:因为Linux内核自4.8以后才较好支持vrf功能,所以采用vrf方式实现VPP到FRR通信需要升级Linux系统内核;但现有生产环境采用原生3.10版本,升级系统版本会产生不稳定风险,例如vpp通过网卡驱动接管虚拟网卡问题等;同时系统版本3.10已很好支持net...原创 2020-02-06 18:14:34 · 2609 阅读 · 1 评论 -
VPP中VRF租户路由域的命令使用
1、创建删除vrf表vpp# ip table ?ip table ip table [add|del] <table-id>vpp# ip6 table ? ip6 table ip6 table [add|del] <table-id&...原创 2020-02-06 17:24:31 · 3446 阅读 · 0 评论 -
Linux中iproute实现VRF
目录1.Ubuntu系统实现VRF2.CentOS系统实现VRF3.Linux中VRF实现命令3.1 创建VRF3.2 罗列所有VRFs3.3 给VRF分配网络接口3.4显示被分配给VRF的设备3.5显示VRF的邻居条目3.6 显示VRF中地址3.7 显示VRF路由3.8 VRF的路由查询3.9 将网络接口从VRF中删除VRF (Virtual ...原创 2020-01-15 19:15:58 · 6822 阅读 · 0 评论 -
VPP和Linux内核协议栈通信方法
原文基础上,对vpp tap命令进行更新调整, 截至目前vpp版本20.01。背景介绍基于VPP开发一款网络设备,除使用VPP框架实现端口数据报文转发外,还需要对设备进行配置和管理,比较常用的是要实现ssh、web等相关服务,另外,由于VPP并未实现dhcp server的功能,控制面可能还需移植isc-dhcp类似的dhcp server。相关的用户态程序是基于Linux内核的socke...转载 2020-01-09 17:17:06 · 3914 阅读 · 0 评论 -
FRR搭建简单BGP网络环境
实验参考文章https://segmentfault.com/a/1190000019892263,并进一步解释完善。一、BGP查询CLI命令对frr的配置文件/etc/frr/daemon进一步修改,改为bgpd=yes启动bgp通过vtysh命令行接口,查询frr中bgp配置show ip bgp [x.x.x.x](longer)show ip bgp summarys...原创 2020-01-08 11:44:24 · 8252 阅读 · 1 评论 -
FRR编译及配置(旧版)
爬坑:本文基于官方文档进行编译,发现构建文档并未及时更新,其中部分爬坑过程在此记录一下。 1. CentOS7 默认Git版本为1.8.3,版本过早,导致编译之前一些依赖无法安装。需要升级Git版本,本文升级2.25。升级方法可参看文章https://blog.youkuaiyun.com/turbock/article/details/103761644。 2.官方文档http:...原创 2019-12-30 14:41:13 · 3559 阅读 · 0 评论 -
SRv6技术课堂:SRv6概述
作者简介:李振斌 华为首席协议专家/IETF互联网架构委员会(IAB)委员。负责华为的IP协议研究和标准推动工作。自2009年起积极参与IETF标准创新工作,主导和参与了大量IETF RFC/草案。在过去六年内持续推动了SDN演进的BGP/PCEP/Netconf/YANG的协议创新和标准化,当前研究的重点包括SRv6、网络智能、Telemetry、5G承载等。2019年当选IETF互联网架构委员...转载 2020-10-29 16:31:26 · 34284 阅读 · 2 评论 -
VPP中SRv6的使用
https://docs.fd.io/vpp/20.01/dd/db5/clicmd_src_vnet_srv6.htmlhttps://www.sdnlab.com/23218.htmlVPP版本:20.010.前言VPP(Vector Packet Processing)是思科旗下的一款可拓展的开源框架,提供容易使用的、高质量的交换、路由功能。VPP全称Vector Pac...原创 2019-12-05 20:06:29 · 3971 阅读 · 0 评论 -
VPP-Agent执行
./vpp-agent -etcd-config=/root/go/src/github.com/ligato/vpp-agent/examples/localclient_with_etcd/etcd.conf或./vpp-agent -config-dir=/etc/vpp-agent -microservice-label="00000011"环境变量配置:export...原创 2019-10-24 18:26:27 · 1577 阅读 · 0 评论 -
编译安装VPP及运行(旧版)
目录一、VPP构建安装二、配置运行vpp#1.关闭待接管网卡接口#2.安装NIC网卡驱动#3.设置大页存储(可选步骤,DPDK编译运行igb_uio方式选用,modprobe igb_uio)#4.接口绑定驱动(建议但可选步骤,检查物理网口是否绑定驱动)#5.配置vpp(建议但可选步骤)#6.启动vpp#7.创建网卡接口及IP地址操作系统:CentOS7....原创 2019-09-09 16:09:46 · 4346 阅读 · 0 评论 -
VPP中ACL(访问控制列表)的使用——系列一
目录〇、前言一、ACL_PLUGIN实现访问控制1.1.ACL_PLUGIN控制命令归纳1.2.ACL_PLUGIN简单实验测试二、CLASSIFY实现访问控制2.1.CLASSIFY中ACL命令归纳2.2.CLASSIFY简单实验测试参考官方文档:https://docs.fd.io/vpp/19.08/clicmd_src_plugins_acl.h...原创 2019-09-11 17:58:45 · 8484 阅读 · 0 评论 -
VPP中ACL(访问控制列表)的使用——系列二
目录一、ACL_PLUGIN测试1.三层测试2.黑名单实现3.二层测试二、CLASSIFY测试1.二层测试2.三层测试3.四层测试4.Hex测试:某session中配置多个过滤条件5.多table组成表链测试6.单table配多条session测试一、ACL_PLUGIN测试1.三层测试因为acl_plugin默认采用白名单机制,策略挂...原创 2019-10-08 17:33:05 · 4426 阅读 · 0 评论 -
vpp命令总结
create sub BondEthernet0 834 创建子接口,tag是834 set interface ip table BondEthernet0.834 1 将此接口设置在fib 1里 set interface ip address BondEthernet0.834 192.168.0.250/24 设置接口ip set interface stat...转载 2019-09-05 09:57:17 · 1564 阅读 · 0 评论