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搭建环境
本实验的环境需要分别安装两个镜像:桌面版的OpenDaylight、Mininet。
4.2操作步骤
1 进入OpenDaylight安装路径启动OpenDaylight。
1 2 |
# cd /home/distribution-karaf-0.3.0-Lithium/bin # ./karaf |
2 通过查看karaf或者6633监听端口验证服务是否被开启。以下查看说明OpenDaylight控制器已经被启动。
或
Opendaylight的IP地址如下显示:
3 在 Mininet 虚拟机中输入 mn 命令,并通过远程参数指定远程的自有控制器opendaylight,可以在此系统中创建单层的拓扑网络,从中默认创建了两台 host 和一个交换机,并且激活了控制器和交换机。
1 |
# mn --controller=remote,ip=[controller<em>ip],port=6633 --mac |
这里的< controllerip >是IP地址为20.0.0.22装有OpenDaylight的虚拟机。
4 在OpenDaylight虚拟机上查看监听端口是否与Mininet的主机建立连接。
1 |
$ netstat –anput |grep 6633 |
5 启动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协议访问服务器实现。