OpenFlow协议是基于网络中“流”的概念设计的南向接口协议。在OpenFlow引入了“流”的概念之后,控制器可以根据某次通信中“流”的第一个数据分组的特征,使用OpenFlow协议提供的接口对数据平面设备部署策略——流表,而这次通信的后续流量则按照相应流表在硬件层次上进行匹配、转发,从而实现了灵活的网络转发策略。
在部署路由策略的过程中,我们往往需要通过一些手段“抓取”路由,从而能够针对特定的路由来执行相应的策略,以实现差异化。在“抓取”路由的工具中,ACL无疑是最常用的工具之一。
前群里很多同学做ovs研究,也有很多人来讨论如何自定义OVS匹配域的问题,所以今天的分享主题就围绕OVS匹配处理流程和拓展性展开,这和之前SDNLAB上发的自定义action,可称为姊妹篇。它们是去年研读OVS源码时候的一些收获和心得,今天拿出来和大家分享。 由于拓展匹配域更贴近OVS开发实践,难免会提到代码部分。但为了简洁明了,此次分享主要遵循两个目的:讲清楚其大体逻辑、然后点明需要源码添加的地方,提高匹配域拓展成功率。 一、整体思路 现在进入正题,今天的分享从三个方面进行: 匹配域相关的各个模块简单分析
5月24日,2022网络开源技术生态峰会(线上)盛大开幕,本届大会由“科创中国”未来网络专业科技服务团指导,江苏省未来网络创新研究院主办,SDNLAB社区承办。会上,腾讯边缘与物联网络技术总监陈炜先生,为大家带来《腾讯边缘互联网络技术演进与探索》主题演讲。 陈炜首先简单介绍了腾讯在消费和产业互联网的发展现状:微信目前月活达到了12亿以上,腾讯会议已有2亿以上的用户接入服务,腾讯云持续提供200款以上的产品服务。腾讯的TO C和TO B业务大部分都建立腾讯云基础设施上,当前腾讯云基础设施已经发
作者简介: 陈俞辛,福州大学数计学院2016级计算机科学与技术本科生,目前研究方向为软件定义网络SDN,邮箱multhree @163.com。
VLAN最常用的划分方式是基于端口划分,该方式按照设备端口来划分 VLAN成员,将指定端口加 入到指定 VLAN中之后,该端口就可以转发该 VLAN的报文。该方式配置简单,适用于终端设备物 理位置比较固定的组网环境。随着移动办公和无线接入的普及,终端设备不再通过固定端口接入设 备,它可能本次使用端口 A接入网络,下次使用端口 B 接入网络。如果端口 A和端口 B的 VLAN 置不同,则终端设备第二次接入后就会被划分到另一 VLAN,导致无法使用原 VLAN内的资源;如 果端口 A 和端口 B 的 VLAN 配置相同,当端口 B 被分配给别的终端设备时,又会引入安全问题。如何在这样灵活多变的网络环境中部署 VLAN呢?MAC VLAN应运而生。MAC VLAN 是基于 MAC 划分 VLAN,它根据报文的源 MAC 地址来划分 VLAN,决定为报文添加 某个 VLAN 的标签。该功能通常和安全技术(比如 802.1X)联合使用,以实现终端的安全、灵活 接入。
上回说到,华山派在应用了三层交换机后,破除了原有VLAN通过路由器互通的瓶颈,通信效率大增。但由于弟子不断增多,每一个弟子(IP地址)都需要消耗一条三层交换机的FIB表,而三层交换机的FIB表项资源宝贵,很快就消耗殆尽了。
jQuery 是一个高效精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作事件处理动画和 Ajax 操作更加简单。目前超过 90% 的网站都使用了 jQuery 库,jQuery 的宗旨:写的更少,做得更多!
一、概述 本文以Queens版本为例描述Openstack TaaS服务的相关设计思路。 TaaS,全称为Tap as a Service,其主要功能是将流量镜像到特定的、运行有流量分析软件的虚拟机中
前言: 之前对POF基本原理、POF交换机源码结构进行解读,但是,要想完成POF交换机的二次开发和拓展,有必要对POF交换机特有的数据包处理流程、POF交换机和控制器交互模式进行了解,本节对数据包处理
上回说到,令狐冲用NP实现的防火墙由于带机数量不足引发大规模网络故障,被岳不群罚去思过崖封闭开发。
1、泛洪攻击(DDOS/DOS) 2、饿死攻击; 3、仿冒服务器攻击 4、仿冒客户端;
所谓包过滤就是对防火墙需要转发的数据包,先获取包头信息,然后和设定的规则进行比较,根据比较的结果对数据包进行转发或者丢弃的动作。
OpenFlow交换机把传统网络中,完全由交换机/路由器控制的报文转换为由交换机和控制器来共同完成数据的转发操作,从而实现数据的转发与路由控制的分离。控制器则通过事先规定好的接口操作OpenFlow交换机中的流表,从而达到数据转发的目的。
上回提到,令狐冲在思过崖见到一位仙风道骨的老者,提点令狐冲半夜去思过崖后的山洞受教。
前面我们讲解了什么是防火墙,18图详解防火墙和路由器、交换机的区别,今天继续介绍下防火墙的基本原理,主要从安全区域、安全策略、会话表、server-map四个方面说起。
在第3章中,我们指出了 B类地址的缺乏,因此现在的多个网络站点只能采用多个 C类网络号,而不采用单个 B类网络号。尽管分配这些 C类地址解决了一个问题( B类地址的缺乏),但它却带来了另一个问题:每个 C类网络都需要一个路由表表项。无类型域间选路( C I D R)是一个防止I n t e r n e t路由表膨胀的方法,它也称为超网( s u p e r n e t t i n g)。在RFC 1518 [Rekher and Li 1993] 和RFC 1519 [Fuller et al. 1993]中对它进行了描述,而[Ford, Rekhter, and Braun 1 9 9 3 ]是它的综述。C I D R有一个Internet Architecture Board’s blessing [Huitema 1993]。R F C1467 [Topolcic 1993] 对I n t e r n e t中C I D R的开发状况进行了小结。
先看下OVS整体架构,用户空间主要组件有数据库服务ovsdb-server和守护进程ovs-vswitchd。kernel中是datapath内核模块。最上面的Controller表示OpenFlow控制器,控制器与OVS是通过OpenFlow协议进行连接,控制器不一定位于OVS主机上,下面分别介绍图中各组件。
前言 2014年, 网络领域顶级会议SIGCOMM的一篇论文“P4: Programming Protocol-independent Packet Processors”,提出了数据平面领域特定语言P4,为SDN数据平面带来了独立于协议的高度可编程性。 2017年,由清华大学网络科学与网络空间研究院所著的一篇SIGCOMM Poster“CacheP4: A Behavior-level Caching Mechanism for P4”,从缓存机制的角度出发,加快P4数据平面的数据包转发处理操作,为方兴
如图所示,假如主机A想访问主机B,首先主机A会将自己的IP地址和子网掩码做与操作,得出网路地址(如:Host-A的IP地址100.1.1.2与自身掩码255.255.255.0做与操作后,得到的网络号是100.1.1.0).然后判断目的IP地址(即Host-B的IP地址)与自己的网络地址是不是在同一个子网.因为图中主机A和主机B不在同一子网内,所以需要进行三层转发.
字典(dict) dict 用 {} 包围 dict.keys(),dict.values(),dict.items() hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key del 或 dict.pop可以删除一个item,clear清除所有的内容 sorted(dict)可以吧dict排序 dict.get()可以查找没存在的key,dict.[]不可以 dict.setdefault() 检查字典中是否含有某键。 如果字典中这个键存在,你可以取到它的值。 如果所找的键在字典中不存在,你可以给这个键赋默认值并返回此值。 {}.fromkeys()创建一个dict,例如: {}.fromkeys(('love', 'honor'), True) =>{'love': True, 'honor': True} 不允许一个键对应多个值 键值必须是哈希的,用hash()测试 一个对象,如果实现_hash()_方法可以作为键值使用
要了解OpenFlow信道的建立过程,首先需要了解OpenFlow协议目前支持的三种报文类型:
你从初次实验中学到了什么呢?为了提高可扩展性,需提高程序的模块化程度(将功能放在独立的组件中)。要提高模块化程度,方法之一是采用面向对象设计。你需要找出一些抽象,让程序在变得复杂时也易于管理。下面先来列举一些潜在的组件。
前言 上次有写过一篇《20张图深度详解MAC地址表、ARP表、路由表》的文章,里面有提到了MAC地址表。那么什么是MAC地址表?MAC地址表有什么作用?MAC地址表里面包含了哪些要素?今天带你好好唠唠
编者按:全球第一颗SDN交换芯片一直被一层神秘的面纱包围着,小编近日采访了一下盛科网络的张卫峰张总,为您揭开全球第一颗SDN交换芯片神秘的面纱,以下是采访内容。 SDN是一个很泛泛的概念,它可以有很多
事件委托,简单的来说,就是把一个元素的响应事件的函数委托到另一个元素。一般来讲,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,当事件响应到需要绑定的元素上时,会通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数。
RPS和RFS是google贡献的两个补丁,在2.6.35版本中,正式被合并入了内核。这两个补丁总体来说,并不算复杂,实际上很多网络设备厂商早已在自己的产品中,有了类似的应用。但这个涉及到厂商的主营业务,所以不会做任何开源。
选路是I P最重要的功能之一。图 9 - 1是I P层处理过程的简单流程。需要进行选路的数据报可以由本地主机产生,也可以由其他主机产生。在后一种情况下,主机必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不是本机就要被丢弃(例如,悄无声息地被丢弃)。
网络中,对于认证点设备和策略执行点设备不属于同一设备的场景,需要将认证用户的IP-Group(IP-安全组)信息表项推送到指定的策略执行点设备上。
在前几天的专题中,我们拆解了ASR9900的转发线卡、交换网板、NP芯片、控制平面实现。
NAT technology enables private IP networks that use nonregistered IP addresses to connect to a public network.
现代的防火墙体系不应该只是-一个“入口的屏障”,防火墙应该是几个网络的接入控制点,所有进出被防火墙保护的网络的数据流都应该首先经过防火墙,形成一个信息进出的关口,因此防火墙不但可以保护内部网络在Internet中的安全,同时可以保护若干主机在一个内部网络中的安全。在每一个被防火墙分割的网络内部中,所有的计算机之间是被认为“可信任的”,它们之间的通信不受防火墙的干涉。而在各个被防火墙分割的网络之间,必须按照防火墙规定的“策略”进行访问。
阅读任何一个协议都要注意的一点是这个协议中所定义的专有术语,对这些术语的理解不到位的话也会造成对协议的理解偏差。本文想和大家分享几个可能容易混淆的术语。 在OpenFlow协议文档中经常会看到这么几个词语:Instruction,Action,Apply-actions,Action Set,Action List,Clear-actions,… 有点迷惑人,实际上这里面只有两个实体的概念:Instruction 和 Action。为了保持后文的易读性,这两个概念分别用中文”指令”和”动作”来描述,下文中的
DCFabirc的主要特性和基于DCFabric的OpenStack网络的高性能优势。DCFabric的最新版本“秦”在峰会上正式发布,新版本主要在多线程优化、网络连接管理、内存管理、主备集群数据同步
本文作为码农学ODL系列的实战篇,首先介绍OpenFlow相关理论及其在ODL中的具体实现,接着讲述了基于ODL的应用程序总体开发流程,进而实现了流量限速的基础功能,最后验证了流量限速的基础功能。 一、理论基础 SDN中的流量限速可以基于OpenFlow协议来实现,其原理大致为:OpenFlow通过用户定义的流表(Flow Table)来匹配和处理报文,计量表项被流表项所引用,并为引用该计量表项的流表项提供报文限速的功能。由于大家对OpenFlow流表相对比较熟悉,而对计量表相对陌生。下面首先对计量表的基础
上回说到,由于路由器转发平面找不到汤普金森先生对应的FIB表项,把汤普金森先生送去了主控板。
---- 概述 最近开发私有云产品,那么不得不提的就是VPC(虚拟专有网络)。VPC是什么且具有什么优势呢?虚拟私有云(Virtual Private Cloud,VPC)可部署一个私有的、隔离的云计算环境,用户/租户可在该VPC中的虚拟网络上创建虚拟机、服务等资源。用户/租户可在 VPC上定义一个非常类似传统网络的虚拟网络拓扑,且对该虚拟网络环境拥有完全的控制权,包括选择IP地址范围、 创建子网、配置路由表及网关等等。由于使用隧道封装技术(VXLAN)对云服务器的IP报文进行封装,所以云服务器的数据链路层
在使用ctypes库时,有时可能会遇到_ctypes.COMError错误,该错误通常表示函数调用时的参数错误。本文将介绍这个问题的原因和解决方法。
1 简介 上一篇文章(源码解读ODL的MAC地址学习(一))已经分析了MAC地址学习中的ARP请求的部分源码,下面将接着上一篇文章,介绍一下ARP响应和生成流表的源码。设想的场景不变,如下图所示: 2
/proc/net/fib_trie文件提供了关于FIB(Forwarding Information Base,转发信息库)Trie(前缀树)的信息。其作用是高效地存储和查找路由表项。它以一种前缀树的形式组织了路由表项,其中每个节点表示一个路由前缀。通过在树中进行前缀匹配,内核可以快速找到与目标IP地址最匹配的路由表项。
管理员要在路由器的G0/0/0接口上配置IP地址,那么使用下面哪一个地址才是正确的?
一、简介 软件定义网络(SDN)技术的发展已经历了多年,新技术层出不穷。OpenFlow作为其中的一个代表性协议,已经进化了多个版本,并被工业界和学术界广泛接受和使用,但是受OpenFlow协议规范的约束,用户对网络设备数据平面的操作仍然受到OpenFlow协议已有字段的限制。虽然OpenFlow近年来已从12个字段逐渐扩展到40多个字段,但是对于设备商或者是用户来说仍然有一些问题不能解决。具体来说,用户无法随心所欲的定制适用于特殊场合的私有协议;设备厂商则需要被迫更新硬件设备以不断适应OpenFlow新版
当我们开发列表页分页功能的时候,需要在page中setData去更新列表页,如果我们按照通常的方式去追加数据到列表数据,然后一次性setData到列表数据时,性能肯定会出现问题,表现是页面卡顿,总是处于加载画面,严重的话甚至报错,报错为“数据传输长度为 1486717 已经超过最大长度 1048576”,这里的1048576刚好等于1M。所以下面的方式是不可取的:
随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。
作者简介:郑浩,东南大学本科生,研究方向:OpenFlow,P4。邮箱: zenhox@163.com
自SDN出现以来,关于SDN的研究一直没有停止,只是不同的阶段关于SDN的研究的重点不同。比如最开始的时候,探讨最多的是SDN的可行性,以及如何将SDN应用到对应的网络场景中。本文是笔者在最近阅读2015年至今的若干SDN论文后总结的SDN最新研究进展,希望对读者提供一些帮助。 SDN/NFV SDN和NFV都是当下网络界研究的热点,而如何将两者整合部署,也是研究的热点之一。设计SDN/NFV整合部署框架的研究是这个研究方向的主要研究切入点之一,比如参考文献[1]中就提出了一个SDN/NFV的整体架构。框
却说上回,我们讲到,以太网内部的主要矛盾,已经上升为不断递增的终端数与有限的半双工信道之间的矛盾。
云数据中心最基础的网络产品就是VPC(虚拟私有云),简单理解就是1个三层路由+若干个IP地址可自定义的网络。一个VPC可允许有多个子网,同子网内部二层互通,不同子网间三层互通。用户在云数据中心订购了一
事件代理(Event Delegation),又称之为事件委托。是JavaScript中常用绑定事件的常用技巧。
领取专属 10元无门槛券
手把手带您无忧上云