




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息网络基础研讨专题实验(SDN网络部分)姓名单赟吉学号11211105班级通信1109班指导教师赵永祥实验时间第十周周二一OPENFLOW交换机的手动配置1、实验目的1数据OPENFLOW交换机的手动配置环境2配置OPENFLOW交换机初始信息3手动配置转发表,实现主机之间通信2、实验原理关于OPENFLOW交换机的实验系列由五个实验构成,这前四个实验须按顺序进行,因为后面的实验需要应用前面实验搭建的软件和硬件环境。第一个实验“OPENFLOW交换机的手动配置”熟悉交换机的手工配置环境,实现转发表的手工配置,配置交换机控制端口的地址;第二个实验搭建控制器的软件环境,实现控制器和交换机的互联,运行控制器应用程序,把OPENFLOW交换机的功能通过程序实现为一个二层交换机;第三个实验编写一个简单的控制器软件,实现一个简单的广播交换机功能;第四个实验编写一个控制器软件,实现流表的下发和删除,通过这个实验测试控制器提供的编程接口。第五个实验研究在仿真软件中测试控制器程序和功能,同学们可以在自己计算机上调试好程序以后,再到真实的物理机器上实验,以提高实验设备的使用效率。分组交换机按照转发表把某一个输入端口的分组搬移到另外一个输出端口上输出。转发表实现分组目的地址和交换机输出端口之间的映射。转发表决定了交换机的行为。传统的交换机根据标准协议形成转发表,这部分代码封装在交换机的操作系统中,交换机的运营者不能对转发表的形成继续修改,这样做的好处是保证了交换机的速率和可靠性。但是,运营者不能根据网络的具体特点和业务特性对交换机的转发行为进行专门的定制和设计,影响新业务的提供和增加网络运营成本。OPENFLOW交换机把控制层面和转发层面分离,交换机的转发表可以由运营者手工本地配置,或者通过控制器远程修改和控制。在实际使用环境中,通过控制器远程修改和控制交换机流表。一个控制器就可以控制全网的交换机,控制器可以从全网的角度对每一个交换机的流表进行配置,从而实现全局优化和快速提供新的业务,极大降低了人工运营成本。国家标准化组织已经制定了交换机和控制器之间的消息格式和交互过程,基于OPENFLOW交换机的网络又称为软件定义网络,在大的数据中心已经实用。在OPENFLOW网络中,所有的转发决策从各个交换机转移到控制器上,由控制器集中管理数据包的转发策略,通过OPENFLOW协议负责与所有网络交换机进行交互,配置数据转发路径。OPENFLOW网络示意图如上图所示,所有的数据包在网络中的传输路径由控制器(CONTROLLER)统一控制决定,OPENFLOW交换机只负责转发数据包。控制器通过对交换机下发流(FLOW)来实现上述控制流程。一个OPENFLOW交换机通常包含多个流表,每个流表含有多条流表条目(FLOWENTRIES),每条条目由匹配域(MATCHFIELDS),计数器(COUNTERS)和指令(INSTRUCTIONS)组成。匹配域定义待匹配的数据包特征,如数据包到达的交换机入端口、源以太网地址、目的以太网地址、源IP地址、目标IP地址、VLAN标签。计数器用于对匹配流表的流量统计,更新进入OPENFLOW与流匹配的数据包个数以及总字节数。指令用于修改匹配报文的动作集合,决定报文的转发操作,通常的操作有输出数据包到某端口、修改数据包首部信息等。控制器和OPENFLOW交换机之间通过OPENFLOW消息实现信息交互。当一个数据包到达交换机时,如果与流表中的某一条流相匹配,便顺序执行该条流指令的操作。如果没有匹配的流,则把整个数据包缓存在交换机中,并为该数据包配一个BUFFERID,随数据包一起作为PACKETIN消息发往控制器,控制器根据数据包的首部定义一条新的流决定该类数据包的处理策略,下发FLOWMOD信息给交换机,FLOWMOD消息用于在交换机中添加或删除流表条目,同时控制器以PACKETOUT消息作为载体将数据包返回交换机,PACKETOUT消息用于控制报文从指定端口发出,交换机依据随包的BUFFERID取出数据包,再根据新定义的流进行交换处理。本实验实现手动配置交换机转发表。为后续的实验准备实验环境和交换机基本配置。3、实验器材1盛科V330OPENFLOW交换机2台式电脑(一台)3普通交换机一台4、实验内容1连接交换机的控制端口和计算机以太网卡。交换机的控制端口位于交换机右上角,交换机的控制端口的地址已经初始化为1921681233,一般不允许学生再进行修改。配置计算机的以太网卡的地址也要设为19216810网段,如1921681230。把交换机的控制端口和计算机都连接到一台普通交换机如下图所示内网交换机19216811OPENFLOW交换机配置计算机1921681230计算机终端1921681220控制端口1921681233数据端口2登陆交换机并熟悉交换局配置环境在计算机上面打开命令行终端,输入TELNET1921681233输入获取交换机配置的帮助。如下图所示,可以获得交换机的各种命令的列表在命令的名字后面输入可以获得这个命令的功能和使用说明。例如CONGFIGURE,就会显示这个命令是配置终端所用3常用交换机命令SHOW命令显示交换机的工作状态。输入以下命令SHOWINTERFACESTATUSSHOWOPENFLOWCONTROLLERSTATUSSHOWOPENFLOWOVSDB。观察结果,并根据帮助对这些命令进行解释配置控制器地址1输入CONFIGURETERMINAL,进入配置状态。2输入OPENFLOWSETCONTROLLERTCP19216812306633。在交换机上面设置控制器的地址。这里假设控制器的地址为1921681230,默认端口6633。后面的实验中,需要按照控制器的实际地址在交换机上设置。3输入END,推出配置状态4手动配置流表。OVSOFCTL指令实现OPENFLOW交换机上流表的添加、删除和查询等动作。OVSOFCTL指令集合的详细介绍见附录把测试计算机连接到OPENFLOW交换机的端口2,把OPENFLOW交换机的端口8连接到内网交换机。OPENFLOW交换机的端口号在交换机的面板上有数字标明。内网交换机地址设为19216811。TELNET登陆交换机,执行如下命令OVSOFCTLADDFLOWOVSSWITCH“IN_PORT2,ACTIONSOUTPUT8“这个命令把OPENFLOW交换机第2个端口接收到的分组转发到第8个端口。OVSOFCTLADDFLOWOVSSWITCH“IN_PORT8,ACTIONSOUTPUT2“这个命令把OPENFLOW交换机第8个端口接收到的分组转发到第2个端口。5验证流表配置输入如下命令观察配置的流表OVSOFCTLDUMPFLOWSBR0在测试计算机终端上面运行如下命令PING19216811,观察是否连通。上述命令的实际执行过程如下图所示其中,第一个“OVSOFCTLDUMPFLOWSBR0”是在配置了流表,但是没有连接测试计算机时候得到的结果。第二个显示流表的命令是在连接了测试计算机以后观察到结果。可见流表确实实现了端口2和端口8之间的分组交换。测试计算机上也能观察到PING确实有反映,如果把测试计算机连接到其它物理端口,这PING没有响应。二OPENFLOW交换机和控制软件的互联及控制软件加载1、实验目的CONTROLLER控制器的软件安装控制器和OPENFLOW交换机的互联加载控制软件到OPENFLOW交换机验证交换机预期功能2、实验原理把RYU控制器连接到OPENFLOW交换机,把一个控制器软件加载到OPENFLOW交换机,这个控制器软件的原理是交换机接收到一个分组后,把这个分组报告给控制器终端,控制器终端显示;交换机把分组的源地址和接收到分组的物理端口关联起来;交换机查找目的地址对应的端口号,如果找到,把该分组转发到目的端口,否则在交换机的所有端口广播该分组。控制器软件加载到交换机以后,将实现一个普通交换机的功能,通过一个普通计算机终端验证这个功能。3、实验器材1盛科V330OPENFLOW交换机一台2普通交换机一台台3普通计算机2台4、实验内容和步骤1)连接网络拓扑网络连接如下图所示。OPENFLOW交换机的控制端口的地址设为1921681233,OPENFLOW交换机控制端口和一个数据端口连接到内网交换机。RYU控制器连接到内网交换机。计算机终端连接到OPENFLOW交换机。通过控制器实现对OPENFLOW交换机的控制,使OPENFLOW交换机实现一个普通交换机功能。2)安装控制器软件RYU控制器由一个普通计算机实现。由于目前多数计算机采用WINDOWS操作系统,而RYU控制器是有一个LINUX镜像实现,因此采用虚拟机的方法实现LINUX操作系统。安装VMWARE软件导入RYU操作系统镜像配置虚拟机的网络为桥接模式,实现虚拟机直接访问物理网络验证控制器与交换机控制端口的互通性PING19216812333)TELNET登陆交换机,配置模式控制器地址在命令行输入TELNET1921681233,登陆交换机控制台获取CONFIGURE帮助CONFIGURE进入配置终端状态CONFIGURETERMINAL在交换机控制台输入OPENFLOWSETCONTROLLERTCP19216812306633退出配置状态输入END命令内网交换机19216811OPENFLOW交换机RYU控制器1921681230计算机终端1921681220控制端口1921681233数据端口数据端口4)验证已经在交换机上面配置好控制器地址5)加载控制器应用软件,通过控制器实现对交换机的控制。SIMPLE_SWITCHPY控制器软件采用反向路径学习的方法实现MAC地址的学习,在控制器上面实现简单交换机的功能。该软件在RYU/APP路径下面把交换机的一个数据端口接入到一个内网或者校园网(下面的实验假设交换机数据端口连接到19216811的交换机在控制器的命令行终端执行如下命令RYUMANAGERSIMPLE_SWITCHPY控制台出现如下结果交换机把接收到的分组发送到控制器,在控制台显示出相关信息第一个数字是交换机编号,第二个数字是源MAC地址,第三个数字是目的MAC地址,第四个地址是交换机接收该分组的物理端口。改变内网连接到交换机的物理端口,观察最后一个数据域26变为其他数字检查流表的学习情况。从控制器远程登陆到交换机TELNET1921681233执行命令OVSOFCTLDUMPFLOWSBR06)验证交换机功能使用一台普通计算机发送命令PING19216811,证明该交换机完成转发功能最后另一台交换机确实PING通了。三OPENFLOW交换机控制软件的编写1、实验目的编写一个广播型二层交换机加载控制软件到OPENFLOW交换机并验证预期功能2、实验原理本实验由两个不同的任务构成编制程序,把OPENFLOW交换机接收到的分组广播到所有的端口。3、实验器材盛科V330OPENFLOW交换机一台普通交换机一台台安装有WINSHARK的普通计算机3台,一台作为控制器,两台作为测试终端。4、实验内容和步骤1)连接网络拓扑网络连接如下图所示。OPENFLOW交换机的控制端口的地址设为1921681233,OPENFLOW交换机控制端口和一个数据端口连接到内网交换机。RYU控制器连接到内网交换机。两个安装有WINSHARK的计算机终端连接到OPENFLOW交换机。验证WINSHARK能够实现正确的分组侦听。2)编写广播程序使用文本编辑器,输入如下程序,把这个文件保存为L2PY。/引入控制器提供的功能/FROMRYUBASEIMPORTAPP_MANAGERFROMRYUCONTROLLERIMPORTOFP_EVENTFROMRYUCONTROLLERHANDLERIMPORTMAIN_DISPATCHERFROMRYUCONTROLLERHANDLERIMPORTSET_EV_CLS/建立一个广播交换机的类/CLASSL2SWITCHAPP_MANAGERRYUAPPDEF_INIT_SELF,ARGS,KWARGSSUPERL2SWITCH,SELF_INIT_ARGS,KWARGSSET_EV_CLSOFP_EVENTEVENTOFPPACKETIN,MAIN_DISPATCHER/交换机接收到一个分组的处理函数/DEFPACKET_IN_HANDLERSELF,EVMSGEVMSG/获取接收的分组/DPMSGDATAPATH/获取接收的分组的数据通路/数据端口内网交换机19216811OPENFLOW交换机RYU控制器1921681230计算机终端1921681220控制端口1921681233数据端口计算机终端1921681221OFPDPOFPROTO/获取接收到的分组的协议/OFP_PARSERDPOFPROTO_PARSER/解析接收的分组的协议/ACTIONSOFP_PARSEROFPACTIONOUTPUTOFPOFPP_FLOOD/定义接收的分组的处理动作为广播/OUTOFP_PARSEROFPPACKETOUTDATAPATHDP,BUFFER_IDMSGBUFFER_ID,IN_PORTMSGIN_PORT,ACTIONSACTIONS/生成发往交换机的OPENFLOW消息/DPSEND_MSGOUT/把这个消息发往交换机/3)加载程序到控制器在控制器的终端,进入到保存L2PY的目录,输入如下命令RYUMANAGERL2PY4)验证交换机功能使用一台普通计算机发送命令PING19216811T,另外一台安装有WINSHARK的计算机启动抓包,分析接收到的分组。改变端口,抓包分析由于没有第三台具有抓包软件的计算机,所以只能大致的进行分析。四OPENFLOW控制器的接口函数的实验1、实验目的编写程序,验证控制器软件的常见接口函数,体验软件定义网络的消息类型2、实验原理通过编程,向交换机下发一个流转发表,删除流转发表,验证转发表的生存时间,关闭和启动交换机的物理端口,获取交换机各个颗粒度的统计值。3、实验器材盛科V330OPENFLOW交换机一台普通交换机一台台安装有WINSHARK的普通计算机3台,一台作为控制器,两台作为测试终端。4、实验内容和步骤1)连接网络拓扑,如实验三所示2)编写接口函数的测试程序完整的测试程序如附录所示,下面的测试步骤需要按照测试的需要对测试程序进行修改,删除不相关的程序。下面介绍程序的框架结构CLASSTESTERAPP_MANAGERRYUAPPDEF_INIT_SELF,ARGS,KWARGS/初始化函数DEFSTATS_REPLY_HANDLERSELF,EV/统计信息处理函数SET_EV_CLSOFP_EVENTEVENTOFPSWITCHFEATURES,CONFIG_DISPATCHER/注册交换机特征处理消息DEFSWITCH_FEATURES_HANDLERSELF,EV/交换机特征消息的处理函数SET_EV_CLSOFP_EVENTEVENTOFPPORTSTATSREPLY,MAIN_DISPATCHER/注册交换机物理端口处理消息DEFPORT_STATS_REPLY_HANDLERSELF,EVSELFSTATS_REPLY_HANDLEREV/交换机物理端口消息的处理函数DEFRUN_TEST/测试1流表的增加和删除代码DEFTEST_DRIVER/测试程序的主程序“WILLBESCHEDULEDBYGEVENT“PRINTLETGOGLOBALDATAPATHWHILETRUEIFDATAPATHISNONEGEVENTSLEEP1ELSETESTERRUN_TESTBREAK3)流表的下发和删除在上述程序的测试1部分加入如下代码,实现流表的下发和删除下面给出了下发一个流表到交换机的程序,这个流表把端口2的分组转发到端口三学生自行添加代码,实现把端口三的分组转发到端口2把测试计算机连接到OPENFLOW交换机的端口2,把OPENFLOW交换机的端口3连接到内网交换机19216811从测试计算机上检测到内网交换机的连通性。PING19216811采用类似下面的代码,实现交换机流表的删除,并进行验证设置转发表的生存时间,并进行验证MATCHOFPROTO_V1_3_PARSEROFPMATCH/获取一个匹配对象MATCHSET_IN_PORT1/规定从端口1输入的分组满足匹配规则OAOFPROTO_V1_3_PARSEROFPACTIONOUTPUT2,OFPROTO_V1_3OFPCML_MAXOASOASAPPENDOAINSTOFPROTO_V1_3_PARSEROFPINSTRUCTIONACTIONSOFPROTO_V1_3OFPIT_APPLY_ACTIONS,OASINSTSINSTSAPPENDINST定义对满足匹配规则的分组需要执行的动作转发到输出端口3,动作可以是一个链表,这里只有一个动作。FMOFPROTO_V1_3_PARSEROFPFLOWMODDATAPATH,0,0,0,TABLE0OFPROTO_V1_3OFPFC_ADD,0,0,0,0XFFFFFFFF,OFPROTO_V1_3OFPP_ANY,0XFFFFFFFF,0,MATCH,INSTSOPENFLOW消息格式化DATAPATHSEND_MSGFM发送这个消息4)学生自选探索的部分获取端口信息获取流统计信息控制交换机发送分组附录一OVSOPENVSWITCH基本操作命令1显示BRIDGE的信息,连接到BRIDGE上的INTERFACE,TAP和端口号PORTOVSOFCTLSHOWOVSSWITCH注在本实验环境中,OVSSWITCH均由BR0代替2显示FLOWENTRIESOVSOFCTLDUMPFLOWSOVSSWITCH。3添加FLOWOVSOFCTLADDFLOWOVSSWITCH“IN_PORT2,ACTIONSOUTPUT8“。该命令有很多参数,一般来说ACTIONS之前都是流匹配条件的部分,常用的流匹配条件是IN_PORTSWITCH的端口DL_SRC源MAC地址DL_DST目的MAC地址DL_TYPE以太网协议类型,0X0806是ARPPACKET,0X0800是IPPACKETNW_SRC源IPNW_DST目的IPNW_PROTO网络层协议类型,注意和DL_TYPE区分,同时也需要和DL_TYPE一起使用,比如DL_TYPE是IP0X0800,NW_PROTO1就表示ICMPPACKETTP_SRCTCPUDP源端口TP_DSTTCPUDP目的端口IPSAMEASDL_TYPE0X0800ICMPSAMEASDL_TYPE0X0800,NW_PROTO1TCPSAMEASDL_TYPE0X0800,NW_PROTO6UDPSAMEASDL_TYPE0X0800,NW_PROTO17ARPSAMEASDL_TYPE0X0806RARPSAMEASDL_TYPE0X8035ACTIONS满足匹配条件的处理方法,有如下三种可能转发到某个物理输出端口OUTPUTPORT转发到控制器CONTROLLER(KEYVALUE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年通信设备、计算机及其他电子设备项目建议书
- 2025年轴承离合器用油项目建议书
- 2025年新型贵金属催化剂项目建议书
- 教育大数据在创新人才培养中的角色与挑战
- 教育大数据挖掘技术提升学习效率的秘诀
- 教育与医疗双轮驱动推动区域均衡发展的新思路
- 游戏化学习如何改变传统教育模式
- 中职数学均值定理课件
- 教育心理学在医疗教育中的角色
- 横道图进度计划的特点与应用
- 2025年中国邮政集团有限公司辽宁省分公司校园招聘笔试备考试题及完整答案详解1套
- 多灾种耦合应对-洞察及研究
- 朗读协会工作报告
- T/CERDS 1-2021企业高质量发展评价指标
- 2025农发银行笔试题库及答案
- 湖北省黄冈市黄梅实验中学2025届数学八下期末统考试题含解析
- 2025届上海市闵行区七下数学期末学业水平测试模拟试题含解析
- GB/T 18487.4-2025电动汽车传导充放电系统第4部分:车辆对外放电要求
- 《成人慢性肾脏病食养指南(2024年版)》解读
- 离婚不离家协议书
- 社区干事考试试题及答案
评论
0/150
提交评论