C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
一、实验目的
- 理解C/S模式的工作原理;
- 掌握OpenDaylight下C/S结构操作流程。
二、实验原理
Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。
C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS(数据库管理系统)的核心功能。
三、实验任务
本实验需要两台主机,一台安装控制器OpenDaylight,一台装有Mininet并指定控制器为Opendaylight。Mininet主机下新建两台虚拟机,一台作为客户端,另一台则作为服务器。让客户端用http协议访问服务器端。
本实验网络拓扑如下:
四、实验步骤
4.1搭建环境
在SDN创新实验平台创建一个虚网,创建两个虚拟机,一台选择镜像OpenDaylight-Desktop,另一台选择Mininet。
4.2操作步骤
步骤1 :在实验平台首页单击“创建虚网”。虚网名称以“Slice1”为例,虚网名称只能包括数字,字母和下划线。
任意选择拓扑设备:
查看虚网拓扑的基本信息,并点击创建,生成虚网:
进行下一步配置,并点击最后“创建”,虚网创建成功;
步骤2:
创建控制器,选择Floodlight控制器。
步骤3:
在“虚网详情”页面单击网关部分的“”按钮添加网关。
步骤4:
创建2个虚拟机,一个是选择带有OpenDaylight的镜像(镜像选择:odlLidesktoppostmanwireshark_linux3.12+,作为Mininet的远程控制器),另一个是选择镜像名称为mininetwiresharklinux3.12+镜像作为所需Mininet。如下图已创建虚拟机所示:
(1)启动虚网且启动创建的OpenDaylight及Mininet虚拟机,在OpenDaylight虚拟机上OpenDaylight控制器已经被启动,可通过查看karaf或者6633监听端口验证服务是否被开启。以下查看说明OpenDaylight控制器已经被启动。
或
注:若控制器未启动,切换至root用户,进入OpenDaylight安装路径并启动Opendaylight。
1 2 |
# cd /home/distribution-karaf-0.3.0-Lithium/bin # ./karaf |
Opendaylight的IP地址如下显示:
(2)在 Mininet 虚拟机中输入 mn 命令,并通过远程参数指定远程的自有控制器opendaylight,可以在此系统中创建单层的拓扑网络,从中默认创建了两台 host 和一个交换机,并且激活了控制器和交换机。
1 |
# mn --controller=remote,ip=[controller<em>ip],port=6633 --mac |
这里的< controllerip >是IP地址为20.0.0.22装有OpenDaylight的虚拟机。
(3)在OpenDaylight主机上查看监听端口是否与Mininet的主机建立连接。
1 |
$ netstat –anput |grep 6633 |
(4)启动Web服务
在 Mininet 环境中可方便建立一个Web服务器,从 host1建立了一个Web服务器,并从另外一台Host主机向Web服务器获取HTTP请求。
在主机h1上启用web服务:
1 |
$ mininet>h1 python -m SimpleHTTPServer 80 & |
在主机h2上下载h1 web站点的内容:
1 |
$ mininet>h2 wget –O - h1 |
这样就完成了一次C/S体系结构的访问。我们也可以从OpenDaylight控制器日志上看到控制器和交换机的信令交换信息。
五、实验结论
主从式C/S架构通过不同的途径应用于很多不同类型的应用程序,最常见就是目前在因特网上用的网页。本实验就是基于OpenDaylight控制器的一个C/S架构体系,客户端通过HTTP协议访问服务器实现。
请输入评论内容