资源描述
北京理工大学珠海学院计算机学院课程设计
第一章 需求分析
1.1总体需求分析
1、一楼:总务外2台、宣传部1、纪检处1台 ,院工会办公室1,招生就业处4台,综合教室7(1台),综合教室8(1台)
2.二楼:人事处4台,财务处1,财务室4,副院长办公室1,党委副书记办公室1,院办公室3,ERP实验室1 2(共60台),党委书记办公室1
3、三楼:一机房(普通机房25台),信息工程系办公室8台,五机房(图形图像处理机房30台)
4、四楼:现代教育技术中心3台,计算机中心(用于影视编辑50台)
5、硬件设备的选购要根据目前市场价格为依据。
6、设备的性能以及技术指标要能满足上述第3、4、5,6的要求。
7、校园网运行局域网实时聊天系统,进行教师和学生的日常信息沟通等功能。
8、内网和外网应该很好的隔离开来,只有一两个访问出口。
9、聊天系统的运行只限于校园网,外网无法访问。
1.2 设备需求分析
楼层
计算机数量
交换机数量
一楼
11
1
二楼
75
4
三楼
63
5
四楼
53
4
表1-1设备需求
1.3 主机系统的要求
1.主机系统应采用国际上较新的主流技术,并具有良好的向后扩张能力。
2.主机系统应具有较高的可靠性,能长时间连续工作,并有容错纠错措施。
3.支持通用大型数据,如:SQL,Oracle等。
4.具有广泛的软件支持,软件兼容性能好,并支持多种传输协议。
5.能与Internet,可提供互联网的应用,如WWW浏览服务,FTP文件传输,E-mial等服务。
第二章 设备选型
2.1 设备选型
设备
型号
报价
数量
二层交换机
思科-
WS-C2960S-24TS-S
5300
14
三层交换机
思科
WS-C3560S-24TS-S
16333
2
路由器
思科
2811-HSEC/K9
16400
1
服务器
IBMSystem x3650 M3
16500
2
PC机
联想
2500/3000/3500
若干
表2-1 设备选型
2.2 设备参数
思科WS-C2960S-24TS-S支持参数
VLAN功能 网管功能
思科WS-C2960S-24TS-S参数细节
基本规格
交换机类型
千兆以太网交换机
应用层级
二层交换
端口结构
模块化
VLAN功能
支持
网络
传输模式
全/半双工自适应
网管功能
支持
端口
接口数量
24个
接口类型
24 GigE, 2 x SFP LAN Lite
电气规格
电源电压
220V
额定功率
30W
表2-2
思科WS-C3560-24TS-S支持参数
VLAN功能
思科WS-C3560-24TS-S参数细节
基本规格
交换机类型
以太网交换机
传输速率
10/100
应用层级
三层
交换方式
存储-转发
背板带宽
32Gbps
包转发率
6.6 Mpps
端口结构
固定端口
内存
128MB
MAC地址表
12288K
VLAN功能
支持
网络
网络标准
IEEE 802.3, IEEE IEEE 802.3u, IEEE 802.3z
传输模式
全双工
网管功能
SNMP, CLI, Web
堆叠功能
能堆叠
端口
接口数量
24个
接口类型
10/100 BASE-T/ 100FX/SX
模块化插槽数
2个
其它
是否支持全双工
全双工
网管支持
可网管型
电气规格
电源电压
100-240V
额定功率
45W
外观参数
重量
3.9kg
长度
301mm
宽度
445mm
高度
44mm
环境参数
工作温度
0 - 45
工作湿度
10 到 85% (非冷凝)
工作高度
3049m
存储温度
-25~70
存储湿度
10 到 85% (非冷凝)
存储高度
4573m
表2-3
思科2811支持参数
Qos功能
思科2811参数细节
基本规格
路由器类型
模块化路由器
网络标准
IEEE 802.3X
传输速率
10/100Mbps
端口结构
模块化
最大Flash内存
256MB
最大DRAM内存
760MB
网络功能
网络协议
IEEE 802.3X
路由器网管功能
Cisco ClickStart, SNMP
VPN功能
支持VPN
Qos功能
支持
防火墙功能
内置
其他功能
集成语音留言
范围广泛的话音接口
支持 SRST, 分支机构可利用集中呼叫控制, 并通过SRST冗余性为IP电话经济有效地提供本地分支机构备份
网络端口
广域网接口
10/100Mbps
局域网接口
2个10/100Mbps端口
其他控制端口
Console
扩展插槽
9个
其它
标准/认证
UL 60950:CAN/CSA C22.2 No. 60950,IEC 60950,EN 60950-1,AS/NZS 60950
电源电压
100-240 VAC
功耗
160W
机身重量
6.4kg
外观参数
长度(mm)
416.6mm
宽度(mm)
438.2mm
高度(mm)
44.5mm
环境参数
工作温度
0 - 40
工作湿度
5% – 95% 无凝结
存储温度
-20 - 65
存储湿度
5% – 95% 无凝结
表2-4
IBM System x3650 M3(7945I75)参数细节
基本参数
服务器级别
企业级
服务器类型
机架式
服务器结构
2U
主要性能
标配CPU个数
1颗
最大CPU个数
2颗
CPU类型
Intel Xeon X5670
处理器
标称主频
2.93GHz
智能加速主频
3.333GHz 查看服务器报价
二级缓存
6×256KB
三级缓存
12MB
总线规格
6.4GT/s
多核运算
六核心十二线程 查看服务器报价
内存
内存容量
8GB(2×4GB)
内存描述
PC3-10600 DDR3 RDIMM 查看服务器报价
内存扩展
最高192GB
内存插槽
18个DDR3插槽 查看服务器报价
存储
标配硬盘类型
无标配 查看服务器报价
存储控制
ServeRAID-M5015
RAID阵列模式
支持RAID 0, 1, 5, 10
存储扩展位
标配:
16×SFF托架
网络
网络控制器
2×千兆接口
电源
电源功率
675W 查看电源报价
电源数量
1
电源类型
热插拔电源
其他
PCI扩展槽
标配:
4×PCI-E
保修服务
三年部件
三年人力
三年现场
表2-5
第三章 总体设计
3.1网络总体设计拓扑图
图3-1总体拓扑图
3.2子网与VLAN划分
(1)IP地址合理规划的意义
在网络规划中,IP地址方案的设计至关重要,好的IP地址方案不仅可以减少网络负荷,还能为以后的网络扩展打下良好的基础。
IP地址的合理是保证网络顺利运行和网络资源有效利用的关键。校区IP地址的分配应该尽可能地利用申请到的地址空间,充分考虑到地址空间的合理使用,保证实现最佳的网络内地址分配及业务流量的均匀分布。具体地来说IP地址的合理规划有如下的意义:
1、减少对各种资源(内存、CPU的处理能力以及网络带宽等)的需求——IP地址的合理规划有利于网络中路由的汇聚,因而可以使得路由器中的路由表数目以及链路状态数据库等占用的内存减少,同时更新所占用的网络带宽也降低了;
2、有利于IP地址空间的合理使用;
3、优化业务流量的分布;
4、有利于故障诊断。
(2)IP地址规划
根据互联网络技术发展的趋势,结合学校网络目前真实IP地址的现实情况,我们建议
IP地址规划遵循如下原则来设计:
1、服务器区采用私IP地址,NAT后供人员远程访问;
2、与internet 互联设备IP地址采用真实IP地址;
3、部分内部互连采用私有IP地址;
4、面向用户的私有IP地址,由统一出口的边缘设备(路由器)进行地址翻译。
即出口路由器互联采用合法IP地址;公共服务器如WWW/FTP/DNS/资源服务器等均采用合法地址(或从安全角度考虑采用私有IP);部分接入用户采用私有保留IP地址相连。
这样设计,既可以充分利用已有的公网IP地址,解决了IP地址空间不足的,既可以方便的实现互通互连,而且将地址翻译(NAT)这种耗费设备资源的工作由网络边缘设备分担,提高网络数据传输整体性能。
(3)VLAN划分方案
1.将整个校园网分为3个VLAN,一楼的综合教室,二楼的ERP实验室等底层次划分为VLAN300。
2.一楼的宣传部,纪检处,财务室等中等层次划分为VLAN200。
3.一楼总务外,二楼副院长办公室等高层次划分为VLAN100。这样划分方便权限设置。
(4)子网划分详情表
Vlan号
Ip网段
网关
说明
Vlan100
192.168.1.0/24
192.168.1.254
高等层次
Vlan200
192.168.2.0/24
192.168.2.254
中等层次
Vlan300
192.168.3.0./24
192.168.3.254
低等层次
表3-2子网划分
第四章 详细设计与实现
4.1网络规划设计
4.1.1分层化设计
本校园网网络系统的设计采用层次化的设计方法,即核心层、汇聚层和接入层。
l 核心层:将各分布层交换机互连起来进行穿越校园网骨干的高速数据交换。实现数据包高速交换。核心层双中心星形拓扑的优点是网络拓扑结构较为简单,实现设备,也可以很好的进行网络负载均衡。PortTrunking技术提高互联交换机的吞吐量,使得整个网络具备高容量、无阻塞、高性能的能力
l 汇集层:汇集层主要功能是汇聚网络流量,链路聚合、路由聚合,信号中继,负责将访问层交换机进行汇集,还为整个交换网络提供VLAN间的路由选择功能。
l 接入层:接入层利用VLAN划分等技术隔离网络广播风暴,提高网络效率,为所有的终端用户提供一个接入点。
网络设计的层次可如右图所示:
图4-1网络层次结构
4.1.2网络冗余设计
由于大学网络规模巨大、涉及到的用户很多,如果网络特别是骨干网络出现任何的问题将导致很大的不良影响,因此对网络的可靠性和可用性要求很高。网络的冗余设计除了选择具有冗余设计的网络设备外,网络的冗余设计也十分重要,可采用两台三层核心交换机联合接入路由器,校园网内汇聚层交换机分别用两条线路接到这两台核心交换机上,即可实现线路的冗余。
4.2网络设备主要配置
4.2.1 汇聚层交换机主要配置
Switch0主要是VLAN的划分:
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/14, Fa0/15, Fa0/16, Fa0/17
Fa0/18, Fa0/19, Fa0/20, Fa0/21
Fa0/22, Fa0/23, Fa0/24, Gig1/1
Gig1/2
100 VLAN0100 active Fa0/1, Fa0/2
200 VLAN0200 active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9
300 VLAN0300 active Fa0/10, Fa0/11
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch3主要是VLAN的划分:
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig1/1, Gig1/2
100 VLAN0100 active Fa0/2, Fa0/4, Fa0/5, Fa0/6
Fa0/8
200 VLAN0200 active Fa0/1, Fa0/3
300 VLAN0300 active Fa0/7
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch4主要是VLAN的划分:
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/6, Fa0/7, Fa0/8, Fa0/9
Fa0/10, Fa0/11, Fa0/12, Fa0/13
Fa0/14, Fa0/15, Fa0/16, Fa0/17
Fa0/18, Fa0/19, Fa0/20, Fa0/21
Fa0/22, Fa0/23, Fa0/24, Gig1/1
Gig1/2
100 VLAN0100 active
200 VLAN0200 active Fa0/2
300 VLAN0300 active Fa0/1, Fa0/3
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch5主要是VLAN的划分:
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig1/1, Gig1/2
100 VLAN0100 active
200 VLAN0200 active Fa0/1, Fa0/2, Fa0/3
300 VLAN0300 active Fa0/4
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
汇聚层的交换机与核心层交换机的借口链接只要配置为:
switchport mode trunk
核心层交换机主要配置:
Multilayer Switch1 VLAN配置IP地址:
interface GigabitEthernet0/2
!
interface Vlan1
no ip address
shutdown
!
interface Vlan100
ip address 192.168.1.254 255.255.255.0
!
interface Vlan200
ip address 192.168.2.254 255.255.255.0
!
interface Vlan30012
ip address 192.168.3.254 255.255.255.0
使用RIP路由协议:
router rip
version 2
network 192.168.1.0
network 192.168.2.0
network 192.168.3.0
network 192.168.4.0
Router0路由器主要配置:
借口配置:
interface FastEthernet0/0
ip address 192.168.4.253 255.255.255.0
ip nat inside
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.5.253 255.255.255.0
duplex auto
speed auto
!
interface Serial1/0
ip address 61.145.246.1 255.255.255.252
ip nat outside
clock rate 64000
!
NAT地址转换:
ip nat inside source list 1 interface Serial1/0 overload
ip nat inside source static 192.168.1.252 61.145.246.3(web服务器固定IP)
路由协议:
router rip
version 2
network 61.0.0.0
因为使用NAT地址转换,不能向Router1通告内部网络。
第五章 局域网实时聊天系统
5.1系统的设计目标
根据网络应用程序的特点,网络在线聊天系统应就有即时,快速的特点。对于所有的用户端都应能够正确地建立与客户端的连接并能正确地断开,能即时地接收、处理和发送接收到的数据。能及时地通知在线用户当前好友在线状况,能够处理非正常数据的能力。对于用户端应能够快速地检查是否能够连接到系统。能正确的获得和反映当前好友在线情况。能及时地接收到系统的数据,并能即时处理数据,并能将处理结果反映给用户。
网络会议聊天系统:
(1)能够正确地、无冲突地启动系统。
(2)监听指定的端口,等待用户的连接。
(3)建立与新用户的逻辑连接,并能通知其他好友。
(4)向新进入的好友发出已上线的好友名单。
(5)接收用户的消息请求,并能正确无误地处理消息,并能发出消息到系统界面。
(6)反映当前在线人数和在线好友使用的IP地址。
(7)及时地反映发出地消息和聊天消息。
(8)当好友断开与服务器端地连接时,服务器能够正确地断开连接,并通知所有用户。
5.2 聊天系统开发平台
(1)套接字(Sockets)
(2)C# Windows Socket类
Winsock是一套开放的,支持多种协议的Windows下网络编程接口,是Windows网络编程实是上的标准.应用程序通过调用Winsock的API实现相互间的通信,而Winsock利用下层的网络通信协议功能和操作系统调用实现实际的通信工作。
Microsoft Visual Studio.NET (VS.NET)是Microsoft公司为适应Internet高速发展的需要,而推出的新的开发平台(集成开发环境)。2003年,Microsoft 公司发布了VS.NET 2003,提供了在Windows操作系统下开发各类基于.NET Framework 1.1的全新的应用程序开发平台;2005年底,Microsoft公司又发布了基于.NET Framework 2.0的VS.NET 2005开发平台,植入了适用于大型团队开发的各种优秀的复杂功能,并于2006年1月发布了VS.NET 2005 Professional 简体中文版。
5.3 系统的主要功能
根据网络应用程序的特点,网络在线聊天系统应就有即时,快速的特点。对于系统用户应能够正确地建立与聊天系统的连接并能正确地断开,能即时地接收、处理和发送接收到的数据。能及时地通知在线用户当前好友在线状况,能够处理非正常数据的能力。对于用户应能够快速地检查是否能够连接到系统。能正确的获得和反映当前好友在线情况。能及时地接收到聊天系统的数据,并能即时处理数据,并能将处理结果反映给用户。
1. 实时用户登陆 如图6-1
图5-1用户登陆
当好友登陆聊天室,服务器端有能力通知所有其他在线用户。在公屏上显示最新登陆的用户IP地址,并将其添加到在线成员列表中。
2. 收发消息同步
图5-2发送消息
当一用户发出消息,所有的在线用户应能及时接收到消息。
3. 用户退出
图5-3用户退出
好友退出聊天室,服务器端有能力通知所有其他在线用户
5.4 系统实现的主要代码
namespace NeMeetingExample
{
public partial class FormMeeting : Form
{
private enum ListBoxOperation
{ AddItem, RemoveItem };
private delegate void SetListBoxItemCallBack(ListBox listbox, string text, ListBoxOperation operation);
SetListBoxItemCallBack listBoxCallBack;
private IPAddress broderCastIp = IPAddress.Parse("224.100.0.1");
private int port = 8002;
private UdpClient udpClient;
public FormMeeting()
{
InitializeComponent();
listBoxCallBack = new SetListBoxItemCallBack(SetListBoxItem);
}
private void SetListBoxItem(ListBox listbox, string text, ListBoxOperation operation)
{
if (listbox.InvokeRequired == true)
{
this.Invoke(listBoxCallBack, listbox, text, operation);
}
else
{
if (operation == ListBoxOperation.AddItem)
{
if (listbox == listBoxAddress)
{
if (listbox.Items.Contains(text) == false)
{
listbox.Items.Add(text);
}
}
else
{
listbox.Items.Add(text);
}
listbox.SelectedIndex = listbox.Items.Count - 1;
listbox.ClearSelected();
}
else if (operation == ListBoxOperation.RemoveItem)
{
listbox.Items.Remove(text);
}
}
}
private void SendMessage(IPAddress ip, string sendString)
{
UdpClient myUdpClient = new UdpClient();
IPEndPoint iep = new IPEndPoint(ip, port);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(sendString);
try
{
myUdpClient.Send(bytes, bytes.Length, iep);
}
catch (Exception err)
{
MessageBox.Show(err.Message, "发送失败");
}
finally
{
myUdpClient.Close();
}
}
private void FormMeeting_Load(object sender, EventArgs e)
{
listBoxMessage.HorizontalScrollbar = true;
buttonLogin.Enabled = true;
buttonLogout.Enabled = false;
groupBoxRoom.Enabled = false;
}
private void ReceiveMessage()
{
udpClient = new UdpClient(port);
udpClient.JoinMulticastGroup(broderCastIp);
udpClient.Ttl = 50;
IPEndPoint remote = null;
while (true)
{
try
{
byte[] bytes = udpClient.Receive(ref remote);
string str = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
string[] splitString = str.Split(',');
int s = splitString[0].Length;
switch (splitString[0])
{
case "Login":
SetListBoxItem (listBoxMessage ,string .Format ("【{0}】进入",remote .Address ), ListBoxOperation.AddItem );
SetListBoxItem(listBoxAddress, remote.Address.ToString(), ListBoxOperation.AddItem);
string userListString = "List," + remote.Address.ToString();
for (int i = 0; i < listBoxAddress.Items.Count; i++)
{
userListString += "," + listBoxAddress.Items[i].ToString();
}
SendMessage(remote.Address, userListString);
break;
展开阅读全文