SDN 作业提示器(持续更新)

2022-11-29 09:52:46 浏览数 (1)

1、为什么需要SDN?SDN特点?

SDN解放了手工操作,减少了配置错误,易于统一快速部署 SDN具有广阔的发展前景和巨大的研究价值.

2、SDN的基本思想?

SDN是当前网络领域最热门和最具发展前途的技术之一.作为新兴的技术,之所以能够得到长足发展,在于它具有传统网络无法比拟的优势:首先,数据控制解耦合使应用升级与设备更新换代相互独立,加快了新应用的快速部署;其次,网络抽象简化了网络模型,将运营商从繁杂的网络管理中解放出来,能够更加灵活地控制网络;最后,控制的逻辑中心化使用户和运营商等可以通过控制器获取全局网络信息,从而优化网络,提升网络性能.鉴于SDN巨大的发展潜力,学术界深入研究了数据层及控制层的关键技术,并将SDN成功地应用到企业网和数据中心等各个领域.然而,SDN要想成为下一代互联网主流技术还需要克服许多困难,包括SDN可扩展性、规则部署与跨域通信等关键性难题.因此,发挥SDN所具备的优势,尽量避免存在的风险,成为SDN未来发展的重要任务.只有这样,才能真正成为引领网络未来的互联网技术

3、ONF全称是什么,是什么组织?

1.1ONF全称是开放网络基金会(Open Networking Foundation,简称ONF,该组织制订的OpenFlow协议业已成为SDN接口的主流标准,许多运营商和生产厂商根据该标准进行研发..标准化组织的跟进,促使了SDN市场的快速发展.

4、文中提到了哪些控制器,控制层和数据层通信标准协议是什么?

NOX控制器 OpenDaylight控制器 分布式控制器 云控制器 网络控制器 中央控制器 控制层和数据层通信标准协议是OpenFlow协议

5、NFV是什么?

NFV是针对运营商网络出现的问题而提出的SDN解决方案.

6、ODL设计的三个层次是什么?

网络应用与业务流程(即应用层)、控制平台(即控制层)和物理与虚拟网络设备(即数据层).

7、多级流表是Openflow哪个协议版本增加的?

OpenFlow 1.1.0增加了部分规则,并开始支持多级流表

8、分布式控制器有哪几种扩展方式?

分布式控制器一般可采用两类方式进行扩展[26],分别是扁平控制方式(如图4所示)和层次控制方式.对于扁平控制方式,所有控制器被放置在不相交的区域里,分别管理各自的网络.各控制器间的地位相等,并通过东西向接口进行通信.对于层次控制方式,控制器之间具有垂直管理的功能.

9、SDN应用领域?

SDN已应用到各个网络场景中,从小型的企业网和校园网扩展到数据中心与广域网,从有线网扩展到无线网.

10、SDN未来工作有哪些?

(1) SDN可扩展性研究

可扩展性决定着SDN的进一步发展[101].OpenFlow协议成为SDN普遍使用的南向接口规范,然而OpenFlow协议并不成熟,版本仍在不断更新中.分布式控制器结构避免了单点失效的问题,提升了单一控制时网络的性能.然而,分布式控制器带来的同步[50,51]和热备份等相关问题还需要进一步加以探索.

(2) SDN规模部署与跨域通信

鉴于SDN的种种优势,大规模部署SDN网络势在必行.此外,大规模SDN网络还存在跨域通信问题,如果不同域属于不同的经济利益实体,SDN将无法准确获取对方域内的全部网络信息,从而导致SDN域间路由无法达到全局最优.因此,SDN跨域通信[104]将是亟待解决的问题之一.

(3) 传统网络与SDN共存问题研究

随着SDN的持续发展,传统网络将与SDN长期共存.采用协议抽象技术[21]可确保各种协议安全、稳定地运行在统一模块中,从而可减轻设备负担,成为兼容性研究进展的趋势之一.

(4) SDN在数据中心的应用研究

SDN具有集中式控制、全网信息获取和网络功能虚拟化等特性,利用这些特性,可以解决数据中心出现的各种问题.

(5) 借鉴SDN思想融合IPv6过渡机制

传统互联网面临着IPv4地址耗尽的问题,解决这个问题最有效的办法是全网使用IPv6地址.因此,SDN将成为IPv6过渡技术中可借鉴的指导思想之一.

(6) SDN与其他新型网络架构融合

SDN与其他新型网络架构融合,可以使两种架构形成互补,推动未来网络的进一步发展.它采用了信息驱动的方式.ICN中同样存在数据转发与控制信息耦合的问题.在ICN中利用SDN技术分离控制信息,融合两种技术优势,将成为未来的网络值得探讨的问题。

(7) SDN网络安全

传统的网络设备是封闭的,然而开放式接口的引入会产生新一轮的网络攻击形式,造成SDN的脆弱性.

11、在SDN中,集中式控制器可以分成哪3层?简要说明其用途。

应用程序层(应用层):     此层包含网络应用,如VoIP的沟通应用,防火墙的安全应用和网络服务等等。传统网络的应用都是由交换机和路由器所处理的。SDN允许卸除(Offload)处理,让它们更容易管理,即脱离硬件来管理,可为公司节省许多成本和网络设备。 控制层:(控制网络服务)     交换机和路由器的控制平面集中式处理时允许可程序化网络。OpenFlow是一个开放源码网络通信协议,在工业应用上已经有网络供货商,如思科(Cisco)。 基础设施层:     此层有物理交换机、路由器和数据。此层在SDN中被更改,因为交换机和路由器仍会移动封包。最大的不同是流表规定是以集中式管理的。这并不是说要剔除传统的供货商设备,事实上,许多大型网络提供容纳SDN经由API达到集中式的控制。也就是说,它可能使用一般封包转发装置,相比传统网络设备,SDN会以较低的成本来建置完成。

12、简述SDN与NFV之间的区别。

代码语言:javascript复制
https://blog.csdn.net/feng8403000/article/details/115016968

13、说明开源创新、软件定义网络和网络功能虚拟化的各自特性。

代码语言:javascript复制
https://blog.csdn.net/feng8403000/article/details/115017871

14、本章中提到的早期可程序化网络有哪几项?

1、开放信令 2、主动式网络 3、ATM网络的移动控制 4、4D项目 5、NETCONF 6、Ethane

15、式说明SDN的技术有点,请任举5个项目。

1、简化设定和提供联结 2、携带式网络的灵活性,增加应用和服务部署的速度。 3、允许每个动线和服务同时在流量工程。 4、增加应用效能和使用者经验。 5、支持动态移动、复制和虚拟资源分配。 6、建立虚拟以太网桥网络时,不需要复杂和首先的VLans。 7、使应用在网络上能符合动态需求服务。 8、使中央编排为应用软件递送提供使用方式。 9、减少资本支出,使用白盒交换器。 10、在软件开发生命周期下更快递部署网络应用和功能 11、更容易实现服务质量。 12、在每个动线和服务实现更有效的安全功能

16、如何通过Linux安装工具apt-get完成所需系统的软件配置?

apt-get是linux中APT软件包的管理工具。采用shell命令行的方式完成软件的安装、更新、卸载等操作。

1 语法

apt-get (选项) (参数) 选项: -c —— 指定配置文件 -o —— 直接指定配置参数 参数: 管理指令:对APT软件包的管理操作 软件包:指定要操控的软件包

2 软件库

在使用apt-get 命令之前要引入必须的软件库。软件库也就是软件包的集合,它们存在互联网上的一些公共站点上。当我们需要安装、更新软件时,系统会自动从指定公共站点上搜索相关软件。因此使用apt-get指令的大前提是系统能够连接外网。公共站点的地址在配置文件/etc/apt/source.list中配置的。其格式如下:

代码语言:javascript复制
deb  [web或ftp地址]  [发行版名字]  [main/contib/non-free]

3 常用指令

3.1 apt-get update —— 更新软件包信息库 更新软件包信息库。在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。在Debian中,软件包是通过一个数据库来管理的,通过这个数据库可跟踪系统中已安装、没有安装和现在可安装的软件包信息。apt-get安装软件包时就是依靠这个数据库来解决软件包间的依赖关系,从而可自动安装相关软件。另外需定期运行该命令,从而保持数据库的信息为最新。 3.2 apt-get upgrade —— 更新所有已安装的软件包 软件包升级功能是APT系统这么成功的主要原因。通过该命令,我们就可把软件升级到最新版本。在使用该命令前,最好先运行apt-get update命令,以更新软件包数据库。但该方案不是更新系统最好的方法,一些包会因为包依赖问题而保留(kept back)一些旧的软件包。Debian提供了一个更好的升级方案,就是用dis-upgrade。 3.3 apt-get dist-upgrade —— 更新整个Debian系统 更新整个Debian系统。可从网络或本地更新整个系统。它会重新安排好包的依赖性。如果有些包由于一些原因实在不能更新,我们可通过以下命令查询原因: # apt-get -o Debug::pkgProblemResolver=yes dist-upgrade 可用apt-show-versions -u可获得可升级软件包的列表。该命令还有一些有用的选项,可用-h选项查看详细帮助,了解更多功能。 3.4 apt-get install packagename —— 安装新软件包 安装一个新软件包。如果软件包需其它软件包支持,apt-get会通过搜索软件包数据库找到这种依赖关系,一起下载相关软件。在一个命令行中可同时安装多个软件包,中间用空格隔开即可。安装的软件包默认会存放在/var/cache/apt/archives目录下,以便以后重新安装。如果已安装的软件包损坏了,你可通过–reinstall选项来重新安装。如: # apt-get --reinstall install package_name 1 在需安装的软件包名后加一个减号会删除软件包,如:apt-get install package_name-。 3.5 apt-get remove packagename —— 卸载已安装软件包(保留配置文件) 如果想删除没用的软件包,只要使用该命令即可。此命令会保留软件的配置文件。不删除依赖软件包,且保留配置文件。 3.6 apt-get –purge remove package_name ——卸载已安装软件包(不保留配置文件) 如果想把该软件的配置文件也删除,可以用–purge选项。类似地,在删除软件包名后加一个加号会安装软件包,如:apt-get remove package_name 。 不删除依赖软件包,删除配置文件。 3.7 apt-get autoremove packagename —— 卸载已安装软件包(卸载依赖软件) 删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。 3.8 apt-get autoclean —— 删除已卸载软件的安装包 apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以使用这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,可以释放大量的磁盘空间。如果对空间的需求十分迫切,可以使用apt-get clean以释放更多空间。 3.9 apt-get clean —— 删除已卸载和已安装软件的安装包 删除安装的软件的备份。当我们通过apt-get安装软件包时,APT会把软件包下载到本地/var/cache/apt/archives/目录。该命令会删除该文件夹内的除锁住外的所有软件包。 3.10 apt-file search filename 查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须先使用apt-get install来安装它,然後运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。 3.11 apt-get source package_name 下载软件包的的源码版本。

 17、显示运行进程内容的Linux命令是什么?

ps -a ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。 ps 命令有多种不同的使用方法,这常常给初学者带来困惑。在各种 Linux 论坛上,询问 ps 命令语法的帖子屡见不鲜,而出现这样的情况,还要归咎于 UNIX 悠久的历史和庞大的派系。在不同的 Linux 发行版上,ps 命令的语法各不相同,为此,Linux 采取了一个折中的方法,即融合各种不同的风格,兼顾那些已经习惯了其它系统上使用 ps  命令的用户。 选项:

  • a:显示一个终端的所有进程,除会话引线外;
  • u:显示进程的归属用户及内存的使用情况;
  • x:显示没有控制终端的进程;
  • -l:长格式显示更加详细的信息;
  • -e:显示所有进程;

可以看到,ps 命令有些与众不同,它的部分选项不能加入"-",比如命令"ps aux",其中"aux"是选项,但是前面不能带“-”。 大家如果执行 "man ps" 命令,则会发现 ps 命令的帮助为了适应不同的类 UNIX 系统,可用格式非常多,不方便记忆。所以,我建议大家记忆几个固定选项即可。比如:

  • "ps aux" 可以查看系统中所有的进程;
  • "ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;
  • "ps -l" 只能看到当前 Shell 产生的进程;

18、查看交换机的bridge 配置信息的命令是什么?

ovs-vsctl show

19、删除原来的bridge br0的命令是什么?

ovs-vsctl del-br br0

20、创建新的bridge的命令是什么?

ovs-vsctl add-br br0 -- set bridge br0 datapath_type=pica8

21、添加端口的命令是什么?

ovs-vsct1 add-port br0 ge-1/1/1- set interface ge-1/1/1 type=pica8

22、监控端口的命令是什么?

ovs-ofctl show br0

23、查看端口的统计信息的命令是什么?

ovs-ofctl dump-ports br0

 24、Action提到的OFPAActionOutput Class是用来转送制定封包的,其中包含哪些内容?

Packet-Out和FlowMod,设定传送的最大封包容量(max_len)和要传送的控制器(Controller)目的地作为建构子(Constructor)的参数。

25、每个OpenFlow都会有对应到哪两个唯一的模块?

常数模块和解析模块

26、opfroto函式库内信息的解析,其做法有那两个步骤?

a、以ryu.ofproto.ofproto_parser.header处理版本相应的解析。 b、以 ryu.ofproto.ofproto_parser.msg解析剩余的部分。

27、opfroto函式库串行化信息的产生,其做法有那两个步骤?

a、呼叫信息对象的串行化方法。 b、从信息对象中将buf的属性读取出来。有些字段,如len,即使不制定数值,在串行化的同时也会自动被计算。

 28、简述OpenFlow和OF-Config使用时的3种做法。

1、网络地址。 2、封包的解析 3、串行化封包的产生

29、封包函式库的封包的解析,其做法有那两个步骤?

a、以ryu.lib.packet.paket.Packet对象产生。 b、以先前对象的get_protocol方法取得协议中相关属性的对象。

30、封包函式库的串行化封包的产生,其做法有哪4个步骤?

a、产生ryu.lib.packet.paket.Packet类别的对象。 b、产生相对应的协议对象(Ethernet、ipv4、...)。Checksum和payload的长度不需要特别设定,在串行的同时会被自动计算。 c、在步骤a所产生的对象中,使用add_protocol方法一次加入步骤b所产生的对象。 d、呼叫步骤a所产生对象中的串行化方法将对象转换成byte string。

31、OF-Config通信协议标准中列出的支持的工作内容有那几点?

1、发送信息通道的创建、加密和指定。 2、指定控制器和交换机的链接。 3、交换机本身IP地址、屏蔽和网关管理。它可以对逻辑交换器的通信端口(Port)和队列(Queue)进行设定,以及数据获取。 4、负责物理端口和逻辑端口的创建于状态的改变。 5、Ryu提供的函式库兼容于OF-Config1.1.1改变。

32、Open vSwitch(OVS)是很重要的一个技术,它有哪些特点?

1、OVS对SDN在数据中心的部署很重要,因为它将虚拟机(VM)聚集在一起,以方便服务器内的管理程序使用。 2、OVS对所有VM在网络交易信息的第一个进入点,经由物理网络进入数据中心。 3、OVS作为许多数据中心SDN部署核心的虚拟网络,主要使用案例是多租户(multi-tenant)网络的虚拟化。 4、OVS也能够用来直接介于网络功能服务案例之间的交易。

33、OpenFlow协议可以分为以下两个部分:

连接协议、配置与管理协议

34、使用OpenDaylignt的理由:

1、模型驱动的服务抽象层。

2、模块插件的南向接口

3、基于意图的北向接口

4、随时支持具备专用和可扩展性的网络服务

5、多物理域的内置机制和政策执行

6、广泛的工业上的认可

35、测试Mininet可以输入:【sudo mn --test pingall】

36、Linux下切换文件夹的命令是:【cd】

37、Linux下删除目录下所有文件是命令是:【rm -rf *】

38、Linux下显示文件信息命令:【cat】

39、Linux下重启计算机命令:【reboot】

40、Linux下创建文件夹命令:【mkdir】

41、Linux下显示工作路径命令:【pwd】

0 人点赞