电脑桌面
添加蜗牛文库到电脑桌面
安装后可以在桌面快捷访问

计算机网络课程设计

栏目:合同范文发布:2025-01-28浏览:1收藏

计算机网络课程设计

第一篇:计算机网络课程设计

实验一

交换式以太网路由互联

一、实验目的

学习掌握交换式以太网主机连接配置和用路由器直接交付路由实现简单的网络互连,了解交换式以太网络内部和多个交换式以太网络之间的物理连接和逻辑连接配置方法,深刻领会网络层和链路层在连接和数据传输不同方式和意义。

二、实验基础

“交换”是今天网络里出现频率最高的一个词,从桥接到路由到ATM直至电 话系统,无论何种场合都可将其套用,搞不清到底什么才是真正的交换。其实交换 一词最早出现于电话系统,特指实现两个不同电话机之间话音信号的交换,完成该 工作的设备就是电话交换机。所以从本意上来讲,交换只是一种技术概念,即完成 信号由设备入口到出口的转发。因此,只要是和符合该定义的所有设备都可被称为 交换设备。由此可见,“交换”是一个涵义广泛的词语,当它被用来描述数据网络 第二层的设备时,实际指的是一个桥接设备;而当它被用来描述数据网络第三层的 设备时,又指的是一个路由设备。

我们经常说到的以太网交换机实际是一个基于网桥技术的多端口第二层网络 设备,它为数据帧从一个端口到另一个任意端口的转发提供了低时延、低开销的通 路。

由此可见,交换机内部核心处应该有一个交换矩阵,为任意两端口间的通信提 供通路,或是一个快速交换总线,以使由任意端口接收的数据帧从其他端口送出。在实际设备中,交换矩阵的功能往往由专门的芯片(ASIC)完成。另外,以太 网交换机在设计思想上有一个重要的假设,即交换核心的速度非常之快,以致通常 的大流量数据不会使其产生拥塞,换句话说,交换的能力相对于所传信息量而无穷 大(与此相反,ATM交换机在设计上的思路是,认为交换的能力相对所传信息量

而言有限)。

虽然以太网第二层交换机是基于多端口网桥发展而来的,但毕竟交换有其更丰富的特性,是指不但是获得更多贷款的最好途径,而且还使网络更易管理。

而路由器是OSI协议模型的网络层中的分组交换设备(或网络层中继设备),路由器的基本功能是把数据(IP报文)传送到正确的网络,包括:

1.IP数据报的转发,包括数据报的寻径和传送; 2.子网隔离,抑制广播风暴;

3.维护路由表,并与其他路由器交换路由信息,这是IP报文转发的基础。4.IP数据报的差错处理及简单的哦拥塞控制; 5.实现对IP数据报的过滤和记账。

对于不同规模的网络 路由器的作用的侧重点有所不同。

在主干网上,路由器的主要作用是路由选择。主干网上的路由器,必须知道到达

所有下层网络的路径。这需要维护庞大的路由表,并对连接状态的变化做出尽可能迅速的反应。路由器的故障将会导致严重的信息传输问题。

在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网络单位--园区网,同时负责下层网络之间的数据转发。

在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网(LAN),其中所有主机处于同一逻辑网络中。随着网络规模的不断扩大,局域网演变成以高速主干和路由器连接的多个子网所组成的园区网。在其中,处个子网在逻辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网间的报文转发和广播隔离,在边界上的路由器则负责与上层网络的连接。

三、实验环境

1、WindowsXP系统计算机

2、安装Packet Tracer模拟软件模拟网络实现

四、实验内容

设置三个网络中的主机,使用Ping命令测试通过路由器的网络连接情况:

1、配置路由器之前测试主机连通情况。

2、启动路由选择协议后再测试主机之间的连通情况。

3、实验报告描述路由器配置和测试情况。

五、实验步骤

1、连接构成一下网络拓扑

2、对主机进行IP配置

PC1、PC2也是如此。

3、对路由器配置IP Routing

4、使用Ping命令测试主机之间的连通性

PC1、PC2也是如此。

5、测试和分析路由配置

Router#show running-config

显示当前配置

Router#show ip route

显示路由表

实验二

用RIP路由协议实验网络互联

一、实验目的

学习掌握路由器用RIP进行简单的路由选择协议配置,了解RIP路由计算结果。

二、实验基础

RIP用两种分组传输信息,更新(UNPDATES)和请求(REQUESTS)。每个有RIP功能的路由器每隔30秒用UDP 520 端口给与之直接相连的机器广播更新信息。更新信息反映了该路由器所有的路由选择信息数据库。路由选择信息数据库的每隔条目由两部分组成:局域网上能达到的IP地址和与该网络的距离。请求信息用于寻找网络上能发出RIP报文的其它设备。RIP用路程段数作为网络距离的尺度。每个路由器在给相邻路由器发出路由信息时,给每个路径加上每部距离。然后用跳数作为确定路径的标准不爽死总能提供最短路径。

三、实验环境

1、WindowsXP系统计算机

2、安装Packet Tracer路由器模拟软件模拟网络实现

四、实验内容

设置两个远程网络中的主机,使用Ping命令测试通过路预期的网络连通情况;

1、配置路由之前测试主机到各个网络的连通情况。

2、逐个用RIP进行简单的路由选择在测试主机到格格网络的连通情况。

3、所有用RIP进行简单的路由选择配置完成后测试主机到主机的连通情况。

4、实验报告描述路由配置和测试情况。

五、实验步骤

1、连接路由器构成一下网络拓扑

如图所示,路由器A、路由器B、路由器C用RIP发送路由选择信息。路由器A、路由器

B、路由器C用交叉电缆连接。IP地址如图配置。

2、对主机进行IP配置

3、使用Ping命令测试主机到路由器接口,或路由器到路由的连通性

4、对路由器配置RIP路由选择,例如:路由器A参考配置具体如下,路由器B/C可参照配置

5、使用Ping命令测试主机之间的连通性

例如: PC1:

5、测试和分析路由配置

Router#show running-config

显示当前配置

Router#show ip route

显示路由表

Router#show int f0/0

显示接口信息

实验三

理解三层交换的功能

一、实验目的

学习掌握三层交换的简单功能,深刻领会三层交换机二层与三层接口的不同作用。

二、实验基础

在第三层交换技术出现之前,几乎没有必要将路由功能器件和路由器区别开来,他们完全是相同的:提供路由功能正在路由器的工作,然而,现在第三层交换机完全能够执行传统路由器的大多数功能。作为网络互连的设备,第三层交换机具有以下特征:

1.转发基于第三层地址的业务流;

2.完全交换功能;

3.可以完成特殊服务,如报文过滤或认证;

4.执行或不执行路由处理。

第三层交换机与传统路由器相比有如下优点:

1.子网间传输带宽可任意分配:传统路由器每个接口连接一个子网,子网通过路由器进行传输的速率被接口的带宽所限制。而三层交换机则不同,它可以把多个端口定义成一个虚拟网,把多个端口组成的虚拟网作为虚拟网接口,该虚拟网内信息可通过组成虚拟网的端口送给三层交换机,由于端口数可任意指定,子网间传输带宽没有限制。

2.合理配置信息资源:由于访问子网内资源速率和访问全局网中资源速率没有区别,子网设置单独服务器的意义不大,通过在全局网中设置服务器群不仅节省费用,更可以合理配置信息资源。

3.降低成本:通常的网络设计用交换机构成子网,用路由器进行子网间互连。目前采用三层交换机进行网络设计,既可以进行任意虚拟子网划分,又可以通过交换机三层路由功能完成子网间通信,为此节省了价格昂贵的路由器。

4.交换机之间连接灵活:作为交换机,它们之间不允许存在回路,作为路由器,又可有多条通路来提高可靠性、平衡负载。三层交换机用生成树算法阻塞造成回路的端口,但进行路由选择时,依然把阻塞掉的通路作为可选路径参与路由选择。

三、实验环境

1、WindowsXP系统计算机

2、安装Packet Tracer路由模拟软件模拟网络实现

四、实验内容

1、按照网络拓扑连接设备;

2、配置并验证三层交换机的二层功能;

3、配置并验证三层交换机的三层功能。

五、实验步骤

1、构成如下网络拓扑

2、对主机PC1 PC2配置IP地址及子网掩码,并通过ping命令测试PC1与PC2的连通性。【由于CISCO3560交换机接口默认为二层,故可以ping通】

3、配置三层交换机

4、对PC3 PC4配置IP地址、子网掩码以及网关。【网关为其直接三层交换机的接口地址】

5、使用Ping命令测试PC3与PC4之间的连通性。【由于PC3与PC4处于不同网段,并且三成交换机没有开启路由功能,故不能ping通】

6、开启三层交换机的路由功能:

7、再次使用Ping命令测试PC3与PC4之间的连通性。

8、测试和分析三层交换机配置

Switch#show running-config

显示当前配置

Switch#show ip route

显示路由表

Switch#show int f0/3

显示接口信息

实验四:IPv6 RIPng 实验目的

启用IPv6流量转发

向RIPng网络注入默认路由 RIPng配置和调试 拓扑结构

IPv6 RIPng配置 实验步骤

步骤一:配置路由器R1

步骤二:配置路由器R2

步骤三:配置路由器R3

步骤四:配置路由器R4 实验调试

Show ipv6 route

Show ipv6 protocols

以上输出信息表明启动的IPv6 RIPng进程为cisco,同时在S1/1,S1/0接口上启用RIPng

Show ipv6 rip database

以上显示了R2的RIPng的数据库。

Debug

ipv6 rip

下面的信息显示路由器R2发送和接收RIPng的信息。

各公司的人数如下:

总体设计图

几项说明:1 每个部门的机器用两台表示,省略其他电脑。模拟器有些命令不能实现,所以整体功能不能完全实现

HSRP,BGP,VACL的配置均不能实现

设计思路: 采用双网接入,网通和电信可用BGP来进行路由的度量选择,由于BGP不可用,改用静态默认路由。四个公有IP地址的用途如图所示:两个IP用于R1的Fa0./0口的网段,此网段接入服务器,提供Web,邮件和FTP服务,不用NAT转换,用公有IP直接可被Internet主机访问。其余两个公有IP分别用于R1的S0/0/0和S0/0/1两个出口,分别在两个接口上实行NAT重载,即可充分利用4个公有IP地址。为了经理访问其他用户资源,其他用户只能访问本部和Internet的资源,考虑使用ACL技术,在VLAN中使用 为了保证安全性,可在R1上外接一个认证服务器和IDS,前者对不同的用户提供不同的权限,后者可以过滤进出的流量及其敏感信息。首先按照部门将各部门划分到不同的vlan中,一共10个vlan 分配的内网IP地址可以应对招收来的少量员工 在SW1上配置DHCP服务器,根据不同VlAN分配IP地址,不用专门的DHCP服务器,节省资源。同时采用了两层的设计模型,兼顾安全性和冗余性双重保障。由于HSRP等协议不可在模拟机实现,顾功能不能实现。

完成步骤:

第一步 划分VTP域,域名为star,密码为star。其中SW1设置成server,其余的均为client端。

将各交换机相连的端口设置为Trunk模式,用dot1q封装

此时,在SW1上配置VLAN的信息,在其余的路由器上都应该看到,首先在SW1上配置VLAN的基本信息,每个部门一个VLAN

SW1的VLAN信息

过一段时间,查看其余的交换机

SW2上的VLAN信息

同理,查看其他的交换机发现了相同的VlAN信息,说明VTP域可用且正常。

第二步 将各个PC接入对应的接入交换机的端口上,并且设置正确的access的VLAN模式和VLAN号上

当全部分配好后,查看各接入层交换机的接口对应的VLAN信息:

SW2的接入信息

SW3的接入信息

SW4的介入信息

查看后发现分配正确。

第三步

为了安全起见,我们将SW1设置为根网桥,将SW0设置为备用根网桥:

SW1上设置命令

SW2上的设置命令

第四步

配置SVI接口

SW1上配置示例

其余的9个VLAN类似的配置

配置SW0的命令类似,但是IP不同,但是由于不能配置HSRP(模拟器不识别命令),所以此时的配置就出现了问题,若是采用不同的SVI的IP,当配置DHCP服务器的时候键入default-router时就有问题,应该键入HSRP虚拟后的IP充当各个VLAN的网关,但是HSRP不能是使用,采用不同却不能模拟一个IP,DHCP服务器配置就有问题。所以为了后面的配置,我们这里就采用了相同的IP。VLAN的IP如下:

SW1和SW0上的信息

为了实现三层交换的路由功能,我们需要在SW1和SW0上开启路由功能:

SW1和SW0的开启路由命令

第五步

为了防止分布层交换机的带宽瓶颈问题,我们采用多链路技术,后来发现此交换机有1G带宽的接口,但是已经配置了,考虑到HSRP的问题,我们这里使用了二层链路聚合而不是三层链路聚合技术:

Show一下看看结果:

SW1上的显示

SW2上的显示

可以看到二层链路聚合已经成功。

再看一下show run的配置情况:

SW1上的显示情况

第六步

为了更简便的给用户提供IP地址,我们需要在SW1上配置DHCP服务。由于此公司规模较小,所以此计划可行。

配置时先将一些默认网关所需要的IP从地址池中排除,防止被动态分配:

SW1上的显示信息

配置过程不截图,看配置后的现实情况:

SW1上show run之后的显示

其中default-router本应该是虚拟的地址,此处用SVI的接口实际IP地址。完成后我们将主机设置为自动获取IP地址,然后选择几个PC查看情况:

经理部门的IP

产品开发的IP

检验其他的PC发现均和对应的VLAN分配的IP相同,所以可以验证处DHCP服务配置成功。

第七步

服务器的配置

服务器的IP地址的静态设置

服务器的IP地址

开启FTP服务

开启HTTP服务

开启邮件服务

第八步

R1的Fa0/0接口配置

和服务器相连的接口

与R1相连的SW接口开启三层路由功能,并且配置IP地址:

SW1的Fa0/4接口

在接入层交换机上接入PC端口开启思科快速收敛功能:

SW1上开启Port-fast功能

第九步

设置权限问题,经理可以访问所有资源,不用配置ACL,其他部门要进行配置,以

VLAN2配置举例

配置好access-list 2 拒绝172.16.10.0 172.16.30.0-172.16.100.0

vlan access-map denytelnet 10

match ip address 2

action drop

exit

vlan filter denytelnet vlan-list 2

此后vlan2里的主机只能访问本vlan内主机和外部设备,不能访问其他vlan中的主机设备,其他vlan同样配置

第十步

配置EIGRP路由选择协议,过程省略。在R1上设置静态默认路由:

R1上配置默认路由

其余的步骤省略,我们在PC1上尝试Ping一下ISP,看看是否能通:

PC1上ping ISP看看是否通

第十一步

配置重载NAT,在R1上配置:

R1上NAT的部分配置

至此基本完成配置,能达到题目的要求。

实验心得

通过此次课程设计,让我更加熟练了网络命令的使用,同时理论实际相结合,有利于对知识的掌握和吸收。此次实现后,发现自己还有好东东西去去学习。三层交换的实验是三层交换重要功能的应用,充分利用三层交换的三层功能有利于弥补路由器的一些不足功能,对提高整个网络的带宽和性能起了决定性的作用。

第二篇:计算机网络课程设计

1.课题描述........................................................1 2 系统设计概述...................................................1 3 课程设计的主要内容............................................2 3.1站点总体设计原则及设计目标....................................2 3.2用户需求......................................................2 3.3动态IP地址的设置及服务器的配置...............................3 3.3.1.动态IP配置简介...........................................3 3.3.2.配置DHCP服务器...........................................3 3.3.3配置IIS服务器.............................................6 3.4制作网站......................................................6 3.4.1.建站流程..................................................6 3.4.2.网站各模块的设计...........................................7 3.4.3.建站实现软件...............................................8 3.5.建站注意要点..................................................9 3.5.1.前期调研分析...............................................9 3.5.2.网站的目的及功能定位.......................................9 3.5.3网站技术解决方案...........................................9 3.5.4.网站内容规划.............................................10 3.5.5.网页设计.................................................10 3.5.6.网站测试..................................................10 4.网站维护.......................................................10 4.1、静态页面的添加修改..........................................10 4.2、动态功能支持在线更新........................................10

总结..............................................................12 参考文献.........................................................12

1.课题描述

计算机网络近年来获得了飞速的发展。计算机通信网络以及Internet已成为我们社会结构的一个基本组成部分。网络被应用于工商业的各个方面,电子银行、电子商务、企业管理、信息服务业等都以计算机网络系统为基础。从学校远程教育到公司日常办公乃至现在的电子社区,很多方面都离不开网络技术。可以不夸张地说,网络在当今世界无处不在。

网络的发展也是一个经济上的冲击。数据网络使个人化的远程通信成为可能,并改变了商业通信的模式。一个完整的用于发展网络技术、网络产品和网络服务的新兴工业已经形成,计算机网络的普及性和重要性已经导致了在不同岗位上对具有更多网络知识的人才的大量需求。企业需要雇员来规划、获取、安装、操作、管理那些构成计算机网络的软硬件系统,建立自己的网站,方便办公及交流 系统设计概述

传统的企业内部办公存在着种种弊端,往往造成人员和资源的极大浪费,应用网络技术组建余个高效、快捷、安全的办公环境成为许多企业和单位的当务之急。与传统的单机工作相比,网络化办公具有以下几个明显优点: 1共享软硬件资源,节约资金投入,提高运作效率

企业内部组件web站点后,可以在一个部门只安装一台打印机和扫描仪,其他计算机通过局域网共享这些设备和数据,有利于降低成本。2对重要数据进行安全、集中的管理

组建站点后,可以把一些重要数据放置在专门的网络服务器上集中管理,并通过网络服务器的访问控制限制其他计算机对总要数据的访问。这样就可以有效管理企业内部的重要数据,保证数据安全性,防止数据丢失和被窃取。3方便企业内部信息发布与交流

当企业进行诸如企业内部新闻、电话号码、产品文档、技术文件等信息发布时,可以把这些信息放置在web站点的共享目录上,供员工下载,方便了信息的发布和接收。4便于员工的协调操作

利用内部的办公网,可以方便的对同一事务进行协同处理,提高工作效率,缩短任务完成的时间

图2.1企业内部网络拓扑 课程设计的主要内容

3.1站点总体设计原则及设计目标

组建企业内部web站点要注意站点的分块、共享、安全性、可管理性、以及可维护性。在设计中,系统结构模块化,软硬件平台可以模块化瓶装,系统配置灵活,使系统具有强大的可增长性和强壮性。满足多层次安全控制手段,建立完善的安全管理体系,防止数据的丢失和被窃取。

组建企业内部web站点,既能将公司内部所有计算机纳入系统中去,实现统一规划、分块工作、异地互联、整体管理,并可为将来的应用扩展升级预留接口。

3.2用户需求 作为企业内部网络需要满足:

1、办公事务管理

主要包括公文与文档管理、公告、大事记、会议纪要、资产与办公用品管理、行政制度、办公事务讨论等。

2、人力资源管理

主要包括员工档案、岗位职责、员工通信录、认识管理规范等。

3、财务资产管理

主要包括固定资产管理、工资管理、经费管理等。

4、网站管理

主要包括用户及权限设置、数据库维护、网页设置、标志与标题设置及网络各栏目内容编辑等功能。

3.3动态IP地址的设置及服务器的配置

3.3.1.动态IP配置简介

动态IP地址,顾名思义就是设备所取得的IP地址是非固定的,是可以动态分配和取得的。使用动态IP地址的原因主要有两个:一是可以用较少的IP地址构建较大的网络。如果与连入网络的主机和其它设备相比,所分得的公用IP地址略少一些,如果为每个设备都分配一个固定的IP地址,则显然部分计算机将不能接入网络。考虑到并非所有的计算机都在同一时间内运行并与网络连接,所以,如果将IP进行动态分配,即计算机连入网络时自动取得,断开与网络的连接时自动收回,即可满足网络对IP地址的需求。二是可以增加网络内计算机的可移动性。当某台主机从一个子网移动到另一个子网时,由于IP地址中网络号的不同,从而导致该计算机与其它主机间无法进行通信,解决该类问题最简单的方式就是为移动的主机在新子网中重新分配IP地址。但是,如果采用动态IP地址,就会减少这种网络管理的复杂性。Windows NT使用DHCP来解决动态IP地址的分配问题。使用DHCP时,整个网络中必须至少有一台运行Windows NT主机安装有DHCP软件,充当DHCP服务器,而其它所有欲使用DHCP功能的工作站也必须具有支持DHCP的功能。这样,当DHCP工作站启动时,它就会自动与DHCP服务器通信,并由DHCP服务器为其提供一个IP地址。当然,这个地址只是临时的 3.3.2.配置DHCP服务器

DHCP提供了计算机IP地址的动态配置,如果需要服务器为域中的计算机动态分配IP地址,则必须配置DHCP服务器。配置DHCP服务器的具体步骤如下:

图3.1打开服务器配置向导

图3.2配置服务器向导

图3.3配置服务器向导

图3.4为配置服务器向导

图3.5管理服务器

图3.6 再来就是通过“开始”选择“控制面板”|“添加或删除程序”也可以安装DHCP。

3.3.3配置IIS服务器

右键单击“我的电脑”选择“管理”~服务及应用程序~Internet信息服务~网站~默认网站,单击右键,选择属性,打开主目录,设置主目录为web站点的根目录,也可选择修改其他属性

图3.7配置IIS服务器

3.4制作网站

3.4.1.建站流程

建立网站的流程大致可以分成三个阶段,如图所示

图3.8网站的流程框图

构建内容信息、搜索整理资料和规划网站结构是建立网站的

企业的每一个员工都存在向企业内部网发布内容的潜在可能性。但员工必须按照他们各自的角色协调作业活动。不同规模的公司都需要以省时省钱的方式组织交互信息发布的流程。

通常情况下,为在网站上发布内容,作者创建的材料要经过一个或多个编辑的审校和核准。在这个过程中,作者及编辑按照各种特定的标准分类及标注信息,并为发布设计页面及连接。这一流程通常不是正式的,且要接受网络管理员的协调,这就导致了管理员在“站点发布狂潮”到来时,或是当用户对实时信息需求迅速增长时陷入孤立无援的境地。

使用Site Server可以解决,Site Server还定义了一套为站点增添内容的四步流程,既提交、标注、核准和部署。

图3.9新闻发布系统框图

3.4.3.建站实现软件

可以用Dreamweaver,主要包括两种页面,即html和asp。

HTML(Hyper Text Markup Language ,超文本标记语言),或称为“多媒体文件语言”,是用于创建Web页和Web 信息发布的

(1)通用性:可实现不同平台的文档共享。

(2)可扩展性:HTML的标签集合可以根据新需求而不断修正或加入有限的新标签符, 为实现有限的新功能的扩展提供保障。

(3)创建的灵活性:HTML文档是纯文本文档, 可以由网页编辑器以及其他文本编辑软件创建。

HTML是“Hyper Text Markup Language”的缩写,它是一种超文本标记语言,是网页的描述语言,用于编制通过万维网显示的超文本文件。它是目前在网页设计中,所使用的最基本的标记语言。现在很多HTML 的编辑器,都是通过跟文字处理器相似的接口来编辑网页的。

ASP 文件和 HTML 文件类似ASP 文件可包含文本、HTML、XML 和脚本 ASP 文件中的脚本可在服务器上执行。ASP 文件的扩展名是 “.asp”.当浏览器请求某个 HTML 文件时,服务器会返回这个文件.而当浏览器请求某个 ASP 文件时,IIS 将这个请求传递至 ASP 引擎。ASP 引擎会逐行地读取这个文件,并执行文件中的脚本。最后,ASP 文件将以纯 HTML 的形式返回到浏览器。ASP 指 Active Server Pages(动态服务器页面)ASP 是运行于 IIS 之中的程序.3.5.建站注意要点

另外在网页制作过程中应注意以下要点: 3.5.1.前期调研分析

了解网页制作后具体的工作人员具体权限,以保证公司机密信息不会被泄露,同时又能让每个人从网站上获取足够的工作信息;同时对于私人隐私的公开应得到个人的允许。在注意到以上的同时,还要考虑公司的自身情况、建设网站的能力等 3.5.2.网站的目的及功能定位

本次为企业内部web站点的构建及维护 3.5.3网站技术解决方案

确定服务器,是自建服务器还是租用虚拟主机。选择操作系统。网站安全性措施,如:防入侵,防病毒,防窃取方案

3.5.4.网站内容规划

根据网站的目的和功能规划网站内容。一般企业内部网站应包括:公司简介、部门简介、公共信息、新闻发布、员工联系方式、任务信息、信息搜索查询、相关帮助等内容。

3.5.5.网页设计

网页美术设计要求。网页美术设计一般要求与企业整体形象一致,企业内部网色彩要与办公环境保持和谐 3.5.6.网站测试

①网站发布前要进行细致周密的测试,以保证正常的浏览和使用。主要测试内容有: ②服务器稳定性、安全性。③程序及数据库测试

④网页兼容性测试,包括不同浏览器下的现实结果、不同显示器分辨率的页面效果等。⑤需要的其他测试

4.网站维护

服务器及相关软硬件的维护,对可能出现的问题进行评估,制定相应时间。数据库维护。有效地利用数据是网站维护的重要内容,因此数据库的维护要受到重视。

内容的更新、调整计划。

制定相关网站维护的规定,将网站维护制度化、规范化。

4.1、静态页面的添加修改

静态页面的更新需要使用专业的网页设计工具,然后将修改后的网页通过FTP上传到相应的位置,在此同时还要保证不能破坏其他的页面程序和格局

4.2、动态功能支持在线更新

如果企业信息量很大,如工作信息经常需要更新,有更多的企业资讯需要告诉员工,企业建立动态数据库系统。这里的动态并不是指动画,而是指网站的内容来自企业的数据库。如果更改了数据库,那么前台页面的内容也会随之而更改。

总 结

通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成部分,课程设计虽然安排在一周进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。对计算机专业的本科生来说,实际能力的培养至关重要,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我系人才培养计划的完善和课程设置的调整。在一个星期的课程设计之后,我感到不仅实际动手能力有所提高,更重要的是通过对网站开发流程以及维护方面的了解,进一步激发了我对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。

在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我收获的是黎明。

参考文献

[1]朱兵.小型网组建与应用进阶[M].南方出版社.2004.[2]邓文达胡伏湘.计算机网络教程[M].清华大学出版社.2007.[3] 赵永超.新编网站规划与设计教程[M].西北工业大学出版社.2004.[4] 杨力学.ASP商业网站整站集成开发[M].电子工业出版社.2007.[5] 石志国.ASP动态网站编程[M].清华大学出版社.2001.[6] 李岚.网络设计与维护[M].中国物资出版社.2002.

第三篇:计算机网络课程设计

计算机网络课程设计

报告书

学院:

班级:通信0902

姓名:

学号:

指导老师:

实验三 交换机VLAN实验

SWITCH2的拓扑图

规划IP:

PCA的ip为:10.65.1.1

PCB的ip为:10.66.1.1

PCC的ip为:10.65.1.3

PCD的ip为:10.66.1.3

SWA:

SWB:

设置VLAN: SWA:

SWB:

不设trunk时测试可通性 从PCA到PCC测试:不通,因现在的连线两端在VLAN1中,不能承载Vlan2的信息

[root@PCA root]# ping 10.65.1.3

从PCA到PCB测试:不通:不是一个网段,且不在一个VLAN [root@PCA root]# ping 10.66.1.1

从PCB到PCD测试:通:因为在同一网段内。路径:从switch A的f0/6到switch B的f0/6 [root@PCB root]# ping 10.66.1.3

从PCA到SWA测试:不通:不在同一网段内

[root@PCA root]# ping 10.66.1.7

从PCA到SWB测试:不通:不在同一网段,也不在同一vlan [root@PCA root]# ping 10.66.1.8

从SWA到PCA测试:不通:不在同一网段

SWA#ping 10.65.1.1

从SWA到SWB测试:通:在同一个网段中,路径:从switch A的f0/8到switch B的f0/1 SWB#ping 10.66.1.8

swa40#conf t swa40(config)#int f0/8 swa40(config-if)#switchport mode trunk swa40(config-if)#int f0/1 swa40(config-if)#switchport mode trunk swa40(config-if)#

从PCA到PCC、PCD、SWA、SWB的可通性依次为通,不通,不通,不通。

PCA和PCC在同一网段中,路径:从switch A的f0/3到switch B的f0/3,PCA和PCD、SWA、SWB不在同一网段内。

从PCB到PCC、PCD、SWA、SWB的可通性依次为不通,通,通,通。PCB与PCC不在同一网段,PCB与PCD、SWA、SWB在同一网段内,路径分别为从switch A的f0/6到switch B的f0/6;从PCB到switch A的f0/6;从switch A的f0/6到switch B的f0/1.SWITCH3的拓扑图

(1)都不设vlan情况下,测试连通性

从PCA到PCC,PCD,SWA,SWB依次为 不通,不通,通,不通 PCA与PCC、PCD不在同一默认vlan中,PCA与SWA在同一默认vlan中,路径:从PCA到switch A的f0/3,PCA与SWB不在同一默认vlan中。

从PCB到PCC,PCD,SWA,SWB依次为不通,不通,通,不通。PCB与PCC、PCD不在同一默认vlan中,PCB与SWA在同一默认vlan中,路径:从PCB到switch A的f0/6,PCB与SWB不在同一默认vlan中。

(2)设置有vlan情况下,测试连通性

从PCA到PCC、PCB、SWA、SWB、PCD均不通:不在同一vlan

从PCB到PCC、PCD、SWA、SWB测试为不通,不通,通,不通。PCB与PCC、PCD不在同一默认vlan中,PCB与SWA在同一默认vlan中,路径:从PCB到switch A的f0/6,PCB与SWB不在同一默认vlan中。

(3)使用trunk情况下,测试连通性

从PCA到PCC、PCD、SWA、SWB的可通性依次为不通,通,不通,不通。PCA与PCC、PCD不在同一默认vlan中,PCA与SWA在同一默认vlan中,路径:从PCA到switch A的f0/3,PCA与SWB不在同一默认vlan中。

从PCB到PCC、PCD、SWA、SWB的可通性依次为通,不通,通,通。PCB到PCC设置了trunk,路径:从switch A的f0/6到switch C的f0/1到switch B的f0/1,PCB与PCD不在同一vlan,PCB与SWA、SWB设置了trunk,路径:从PCB到switch A的f0/6,从switch A的f0/6到switch C的f0/1到switch B的f0/1

实验六 路由器接口的secondary ip 装入图文件:router1e

设置计算机的IP和网关:

PCA:PCA的IP地址:10.65.1.1 网关指向:10.65.1.2

PCB:PCB的IP地址:10.66.1.1 网关指向:10.66.1.2

设置交换机的IP地址: switch(config)#int vlan 1 switch(config-if)#ip address 10.66.1.8 255.255.0.0

设置路由器的接口f0/0的有两个ip地址。roa(config)int f0/0

roa(config-if)#ip address 10.65.1.2 255.255.0.0 roa(config-if)#no shut roa(config-if)#ip address 10.66.1.2 255.255.0.0 secondary roa(config-if)#no shut roa#sh run

测试可通性

[root#PCA root]# ping 10.66.1.1

通:在同一网段,路径:从switch的f0/3到f0/6

[root#PCA root]# ping 10.66.1.2 通

[root#PCB root]# ping 10.65.1.1

通:在同一vlan中,从switch的f0/6到f0/3

[root#PCB root]# ping 10.65.1.2

switch#ping 10.65.1.1

不通:不在同一网段

switch#ping 10.66.1.1

通:在同一网段,路径:从switch的f0/6到PCB

如果去掉交换机与路由的连线,PCA和PCB还可以通吗? 不通:不在同一网段,需通过路由寻址,去掉线就不能通了。

可见PCA到PCB的发包是经过路由器的,称之为单臂路由。

这种情况PCA和PCB在同广播域中,对工作带宽不利。如果划分VLAN可以隔离广播 实验七 使用路由器子接口路由情况

装入图文件:router1e

此实验计算机和交换机的IP地址和网关不变,但要求交换机工作在两个VLAN的情况下,一个是原有的默认VALN,另一个是新设置的VLAN 2,含f0/

5、f0/6。1.设置交换机,增加一个vlan 2 switch#vlan database Switch(vlan)#vlan 2 Switch(vlan)#exit Switch#conf t Switch(config)#hostname SWA SWA(config)#int f0/5 SWA(config-if)#switchport access vlan 2 SWA(config-if)#int f0/6 SWA(config-if)#switchport access vlan 2 SWA(config-if)#int f0/1 SWA(config-if)#switchport mode trunk SWA(config-if)# SWA#sh vlan SWA#sh run(检查设置情况)

2.路由器f0/0 有两个子接口 roa(config)int f0/0 roa(config-if)#int f0/0.1 roa(config-subif.1)#encapsulation isl 1 roa(config-subif.1)#ip address 10.65.1.2 255.255.0.0 roa(config-subif.1)#no shut roa(config-subif.1)#int f0/0.2 roa(config-subif.2)#encapsulation isl 2 roa(config-subif.2)#ip address 10.66.1.2 255.255.0.0 roa(config-subif.2)#no shut roa#sh run

3.测试可通性:都通,路由器设置了两个子接口,使其在同一vlan中 [root#PCA root]# ping 10.66.1.1

通,路径:从PCA到switch A的S0/3到switch A的S0/1到ROA的F0/0到switch A的S0/1到switch A的S0/6到PCB

[root#PCA root]# ping 10.66.1.2

通:从PCA到switch A的S0/3到switch A的S0/1到ROA 的F0/0到switch A的S0/1到switch A的S0/6到PCB,)

[root#PCB root]# ping 10.65.1.1

通:从PCB到switch A的S0/6到switch A的S0/1到ROA的F0/0到switch A 的S0/1到switch A 的S0/3到PCA)

[root#PCB root]# ping 10.65.1.2

通:从PCB到switch A的S0/6到switch A的S0/1到ROA的F0/0到switch A的S0/1到switch A的S0/3到PCA

在使用一个路由器接口的情况下,如果下接的网络含有不同的VLAN,则要求路由器的接口要划分成子接口,并绑定isl协议。在交换机上通过多个VLAN的接口,要设置成trunk。如果去掉交换机与路由的连线,PCA和PCB还可以通吗? 不通:不在同一网段,需通过路由寻址,去掉线就不能通了。

可见这也是一种单臂路由。

实验九 三个路由器的静态路由

装入图文件:router3

设置ROA的IP: f0/0: 10.65.1.2-->PCA:10.65.1.1 f0/1: 10.66.1.2-->PCB:10.66.1.1 s0/0: 10.67.1.2

s0/1: 10.68.1.2-->

设置ROB的IP:

s0/0: 10.68.1.1 <--s0/1: 10.69.1.2--> f0/0: 10.70.1.2

f0/1: 10.71.1.2

设置ROC的IP:

s0/0: 10.69.1.1 <--s0/1: 10.72.1.2

f0/0: 10.73.1.2-->PCC:10.73.1.1 f0/1: 10.74.1.2-->PCD:10.74.1.1

设置从PCA到PCC的静态路由 ROA(config)#ip routing ROA(config)#ip route 10.73.0.0 255.255.0.0 10.68.1.1 ROA#show ip route

ROB(config)#ip route 10.73.0.0 255.255.0.0 10.69.1.1 ROB#show ip route

[root@PCA root]#ping 10.73.1.1

通:由于与ROA和ROC相连的ROB接口都在同一个网段上,所以能通,路径:从PCA到switch B的F0/0 S0/1到switch A的S0/0 S0/1到switch C的S0/0 F0/1到PCD

使用默认路由

ROA(config)#no ip route 10.73.0.0 255.255.0.0 10.68.1.1 [root@PCA root]#ping 10.73.1.1

通:因为装入文件时有默认的动态路由存在路径:从PCA到switch B的F0/0 S0/1到switch A的S0/0 S0/1到switch C的S0/0 F0/1到PCD

ROA(config)#ip route 0.0.0.0.0.0.0.0 10.68.1.1 [root@PCA root]#ping 10.73.1.1 通:从PCA到switch B的F0/0 S0/1到switch A的S0/0 S0/1到switch C的S0/0 F0/1到PCD)

实验十 三个路由器动态路由实验

装入图文件:router3

实验网络与上个实验相同,ip地址也不变,现在用动态路由实现网络的连通。ROA(config)#ip routing

ROA(config)#router rip ROA(config-router)#network 10.0.0.0

ROB(config)#ip routing

ROB(config)#router rip ROB(config-router)#network 10.0.0.0

ROC(config)#ip routing

ROC(config)#router rip ROC(config-router)#network 10.0.0.0

ROA#sh ip route

ROB#sh ip route

ROC#sh ip route

从计算机PCA 测试到各点的连通性。都通:由于路由器接口都已经激活,可以相互连通:路径:PCA到PCB:从PCA到switch B的F0/0 F0/1到PCB

PCA到PCC:从PCA到switch B的F0/0 S0/1到switch A的S0/0 S0/1到switch C的S0/0 F0/0到PCC PCA到PCD :从PCA到switch B的F0/0 S0/1到switch A 的S0/0 S0/1到switch C的S0/0 F0/1到PCD

实验十一 基本访问控制列表

装入文件1

1.配置路由达到网络各点可通。

本实验使用有动态路由,也可以使用静态路由。假设网络是通畅的。ROA f0/0: 10.65.1.2-->PCA:10.65.1.1 ROA f0/1: 10.66.1.2-->PCB:10.66.1.1 ROA s0/0: 10.67.1.2

ROA s0/1: 10.68.1.2--> ROB s0/0: 10.68.1.1 <--ROB s0/1: 10.69.1.2--> ROB f0/0: 10.70.1.2

ROB f0/1: 10.71.1.2

ROC s0/0: 10.69.1.1 <--ROC s0/1: 10.72.1.2 ROC f0/1: 10.73.1.2-->PCC:10.73.1.1 ROC f0/0: 10.74.1.2-->PCD:10.74.1.1 1.基本的访问控制列表: 先从PCA ping PCD: [root@PCA @root]#ping 10.74.1.1 应该是可以通的。由于与ROA和ROC相连的ROB接口都在同一个网段上,路径:从 PCA到switch B的F0/0 S0/1到switch A的S0/0 S0/1到switch C的S0/0 F0/1到PCD

在ROB的s0/0写一个输入的访问控制列表: ROB(config)#access-list 1 deny any ROB(config)#int s0/0 ROB(config-if)#ip access-group 1 in ROB#sh access-list 测试PCA至PCD的联通性。(deny)命令所示为S0/0读入控制,题意ROB S0/0为10.68.1.1,PCA的IP为10.65,1,1不包含于ROB VLAN中,所以不能访问

测试PCC至PCD的联通性。(permit)在同一个路由器下,通过路由器寻址能找到对方的IP,所以能通, PCC到switch C的f0/0 F0/1到PCD

测试PCD至PCA的联通性。(permit)由题意由于命令所示为S0/0读入控制,所以ROB能访问ROA,所以访问列表设置无效,所以两者之间的访问不受控制,所以能PING通, 从PCD到SWC的F0/1 S0/0到SWA的S0/0 S0/0到SWB的S0/1 F0/0到PCA

2.删除这个列表

ROB(config)#no access-list 1 ROB(config)# int s0/0 ROB(config-if)#no ip access-group 1 in

二者都可能实现去掉访问列表的目的。前者是从列表号角度删除,后者是从接口及输入和输出的角度删除。可以通过sh run 和sh access-list 命令查看删除情况。3.再写访问控制列表

ROA(config)#access-list 1 deny 10.65.1.1 ROA(config)#access-list 1 permit any ROA(config)#int s0/1 ROA(config-if)#ip access-group 1 out ROA#sh access-list

再测试PCA至PCD的联通性。(deny)ROA设置拒绝了PCA的访问

再测试PCB至PCD的联通性。(permit)由题意ROA中的S0/1为10.68.1.2 PCB的IP为10.66.1.1,不包含于S0/1 VLAN中,由于命令所示为S0/0由于是输出控制,能访问,所以访问列表设置无效,不加控制,所以能PING通, 从PCB到SWB的F0/1 S0/1到SWA 的S0/0 S0/1到SWC的S0/0 F0/1到PCD

再测试PCD至PCA的联通性。(permit)由于是输出控制,所以对输入不做要求,能通,所以输出访问列表无效,对输入不加控制,所以能PING通, 从PCD到SWC的F0/1-S0/0到SWA的S0/0-S0/0到SWB的S0/1-F0/0到PCA

4.重新设置各路由接口有电脑的ip地址。R0B(config)#access-list 4 permit 10.65.1.1 ROB(config)#access-list 4 deny 10.65.1.0 0.0.0.255

(10.65.1.3 deny)ROB(config)#access-list 4 permit 10.65.0.0 0.0.255.255(10.65.0.0 permit)ROB(config)#access-list 4 deny 10.0.0.0 0.255.255.255

(10.66.0.0 deny)ROB(config)#access-list 4 permit any

(11.0.0.0 premit)ROB(config)#int s0/0 ROB(config-if)#ip access-group 4 in

测试PCA至PCD的联通性。(deny)PCA的IP为10.65.1.1按理来说应该所有的访问都允许,由于命令所示为S0/0读入控制,题意ROB S0/0为10.68.1.1,PCA的IP为10.65,1,1不包含于ROB VLAN中所以不通

测试PCB至PCD的联通性。(permit)P CB的IP为10.66.1.1属于deny 10.0.0.0 0.255.255.255,所以访问被拒绝,所以PING不通

测试PCD至PCA的联通性。(permit)PCD的IP为10.74.1.1属于deny 10.0.0.0 0.255.255.255,按理来说应该是拒绝的,但是DENY属于源程序拒绝访问,而PCD先到S0/1,在通过S0/1与S0/0进行信息传递,所以能到达PCA,所以设置读入列表参数无效,对PCD不做限制, 从PCD到SWC的F0/1-S0/0到SWA的S0/0-S0/0到SWB的S0/1-F0/0到PCA

接口的ip地址,计算机的ip地址,请自定

实验十二 扩展访问控制列表

装入文件2 1.阻止PCA访问PCD: ROB(config)# access-list 101 deny icmp 10.65.1.1 0.0.0.0 10.74.1.1 0.0.0.0 ROB(config)# access-list 101 permit ip any any ROB(config)# int s0/0 ROB(config-if)#ip access-group 101 out ROB(config-if)#exit ROB(config)#exit ROB#sh access-list

[root@PCA root]#ping 10.74.1.1(不通)PCA的IP为10.65.1.1属于deny ip 10.65.1.1 0.0.0.0 10.74.1.1 0.0.0.0,所以PING 不通

[root@PCC root]#ping 10.74.1.1(通)PCC和PCD处在同一个路由器下,通过路由器寻址可以相互PING通,从PCC到SWC的F0/0-F0/1到PCD

[root@PCD root]#ping 10.65.1.1(通)因为ROB的S0/0为输出控制,所以当PCD通过外部访问ROB某个端口下的PCA时,是不受控制的,所以ROB的S0/0的输出对PCD的访问是无效的,所以链路不加限制,从 PCD到SWC的F0/1-S0/0到SWA的S0/0-S0/0到SWB的S0/1-F0/0到PCA

2.删除这个列表

ROB(config)#no access-list 101 ROB(config)#int s0/0 ROB(config-if)#no ip access-group 101 ROB#sh access-list

[root@PCA root]#ping 10.74.1.1(通)由于没有任何限制,再加上路由器间的寻址,所以可以PING通, 从PCA到SWB的F0/0-S0/1到SWA的S0/0-S0/1到SWC的S0/0-F0/1到PCD

3.阻止10.65.0.0网络访问 10.74.1.1计算机(PCD)。

ROA(config)#access-list 102 deny ip 10.65.1.1 0.0.0.0 10.74.1.1 0.0.0.0 ROA(config)#access-list 102 permit ip any any ROA(config)#interface s0/1 ROA(config-if)#ip access-group 102(默认为out)

[root@PCA root]#ping 10.74.1.1(不通)PCA的IP属于 DENY IP 10.65.1.1 0.0.0.0 10.74.1.1 0.0.0.0 被限制访问,所以不通

[root@PCC root]#ping 10.74.1.1(通)由于PCC和PCA在同一个路由器下,所以能通过路由器寻址进行PING通, 从PCC到SWC的F0/0-F0/1到PCD

[root@PCD root]#ping 10.65.1.1(通)由于ROA的S0/0为输出控制,所以对输入没有任何要求,所以对输出控制列表设置无效,PCD访问PCA不受限制, 从PCD到SWC的F0/1-S0/0到SWA的S0/0-S0/0到SWB的S0/1-F0/0到PCA

心得体会

从实验三中学会了如何规划ip地址,设置vlan,将连接两个交换机的接口设置成trunk等,知道了写代码时一定得仔细,否则打错了下面就不能ping通了。

从实验六中,我学会了设置计算机和交换机的IP和网关,设置路由器的接口的ip地址等。

从实验七中,我学会了设置交换机,增加一个vlan,设置路由器的子接口,了解了isl协议,isl协议:交换链路内协议(ISL),是思科私有协议,主要用于维护交换机和路由器间的通信流量等 VLAN 信息。ISL 主要用于实现交换机、路由器以及各节点(如服务器所使用的网络接口卡)之间的连接操作。为支持 ISL 功能特征,每台连接设备都必须采用 ISL 配置。ISL 所配置的路由器支持 VLAN 内通信服务。非 ISL 配置的设备,则用于接收由 ISL 封装的以太帧(Ethernet Frames),通常情况下,非 ISL 配置的设备将这些接收的帧及其大小归因于协议差错。

从实验九中,我学会了设置静态路由。

从实验十中,我学会了用动态路由实现网络的连通。从实验十一中,我学会了基本访问控制列表的使用。从实验十二中,我学会了如何扩展访问控制列表。

最后,谢谢老师这几天的指导,真的让我学到了很多很多。

第四篇:计算机网络课程设计

计算机网络课程设计——IP数据报流量统计

摘 要

本课程设计主要是编制程序,监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP包的个数,将其写入日志文件中或用图形表示出来。程序中会用到Winpcap,它主要功能在于独立于主机协议发送和接收原始数据报。本次课程设计中用VC++实现基于Winpcap的网络数据包的捕获和统计,基于Winpcap的应用程序将根据获取网络设备列表;选择网卡并打开;设置过滤器;捕获数据包或者发送数据包;列出网卡列表,让用户选择可用的网卡的步骤进行编写,同时对于TCP/IP协议以及IP数据抱的格式有了进一步的了解和掌握。通过编写程序从而实现对网络中IP数据包流量的统计。

关键词: IP数据包;流量统计;Winpcap;VC++ 1 引 言

随着Internet技术的发展,基于IP协议的应用成为网络技术研究与软件开发的一个重要基础,因此学习网络层以基本概念,了解IP协议的基本内容,对于掌握TCP/IP协议的主要内容和网络课程的学习是十分重要的,通过本次课程设计,有助于熟悉IP数据包格式并加深对IP协议的理解。

1.1 课程设计目的

本次课程设计主要是通过用VC++编程实现对网络中IP数据包流量的统计,实际上是编制程序,监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP包的个数,同时应用Winpcap,Winpcap提供了很好的捕获网络数据包的方法,通过本次课程设计可以将VC++知识与Winpcap结合起来实现在一段时间内对IP数据包的流量进行统计。加深了对Winpcap的理解和运用能力,同时也增长了知识,开阔了视野,对于以后的学习有很大的帮助。

1.2 课程设计的要求

(1)理解运用VC++软件实现对网络中的IP数据抱流量的统计方法和步骤。(2)锻炼独立编程和查阅文献资料解决问题的能力。

(3)通过课程设计培养严谨的科学态度,认真的工作作风。

1.3 设计平台

Microsoft Visual C++ 6.0 2 设计原理

IP是ICP/IP协议体系中的网络层协议,TCP、UDP、ICMP和IGMP等其他协议都是以IP协议为基础的。程序中用到的Winpcap是 Windows packetcapture的缩写,这是UNIX下的lipbcap移植到Windows下的产物,是Win32环境下数据包捕获的开放代码函数库。

Winpcap由内核级的数据包过滤器,底层动态链接库(packet.dll)和一个高层的独立于系统的库(wpcap.dll)组成。

2.1 IP协议

IP是TCP/IP模型中的网络层协议,又称为互联网协议,是支持网间互连的数据报协议,它与TCP协议一起构成了TCP/IP协议族的核心。它提供网间连接的完善功能,包括IP数据报规定互联网范围内的IP地址格式。在因特网中IP协议是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为不同的类别。

IP协议的特点如下:

IP协议是一种不可靠、无连接的数据报传送协议。IP协议是点对点的网络层通信协议。IP协议向通信层隐藏了物理网络的差异。

IP协议以一种数据报的形式传输数据,每个数据报独立传输,可能通过不同路径传输,因此可能不按顺序到达目的地,或者出现重复。

2.2 关于Winpcap库

Winpcap(windows packet capture)是windows平台下一个开源的、公共的基于windows的网络接口API库。主要为win32应用程序提供访问网络底层的能力。Winpcap的主要功能在于独立于主机协议(如TCP/IP)发送和接收原始数据报。也就是说,Winpcap不能阻塞、过滤或控制其他应用程序数据报的收发,它只是监听共享网络上传送的数据报。

其功能有:捕获原始数据包,包括在共享网络上各主机发送接收的以及相互之间交换的数据包;在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉;在网络上发送原始数据包;收集网络通信过程中的统计信息。Winpcap是针对win32平台上的抓包和网络分析的一个架构,它包括一个核心态的包过滤器,一个底层的动态链接库(packet.dll)和一个高层的不依赖于系统的库(wpcap.dll)。它由Packet、NPF(Netgroup Packet Filter)、packet.dll、wpcap.dll、Application组成,首先,抓包系统必须绕过操作系统的协议来访问在网络上传输的原始数据包,这就要求一部分运行在操作系统核心内部,直接与网络接口驱动交互。这个部分是系统依赖的,在Winpcap的解决方案里它被认为是一个设备驱动,称作NPF。其次,抓包系统必须有用户级的程序接口,通过这些接口,用户程序可以利用内核驱动提供的高级特性。Winpcap提供了两个不同的库:packet.dll和wpcap.dll。前者提供了一个底层API,伴随着一个独立于Microsoft操作系统的编程接口,这些API可以直接用来访问驱动的函数;后者导出了一组更强大的与libpcap一致的高层抓包函数库。这些函数使得数据包的捕获以一种与网络硬件和操作系统无关的方式进行。3 程序代码设计步骤

根据流量设计程序的主要功能,相应的算法如下: 取得当前网络设备列表;

将用户选择的网卡以混杂模式打开,以接收到所有的数据包; 设置过滤器;

捕获IP数据包的源地址进行统计(用链表结构进行实现)。

获取网卡列表是为了得到网卡的相关信息,以便于用户进行选择,选取Ethermet网卡是用户所选择的网卡类型,编译设置过滤器是为了编译并设置过滤器是为了只捕获网络数据流的某些数据,打开网卡既将网卡设置为混杂(统计)模式是为了接受所有经过网卡的数据包,包括不是发给本机的数据包,开始主循环以是否超时为判断条件,循环体内主要有捕获IP数据包、将IP包的源地址加入链表、条件判断,循环结束后输出链表内容,程序至此结束。

现将其每一步的具体步骤简述如下:

3.1取得网络适配器列表

//取得网络适配器列表步骤中,alldevs是pcap_if_it指针,指向链表头,errbuf是char类型数组,存储错误信息。

pcap_findalldevs(&alldevs,errbuf);

cout<<”网络适配器列表:”<<’n’;

for(d=alldevs;d;d=d->next)

{

cout<<++i<<“:”

if(d->description)

cout<<“"

else

cout<<”No description available!“<<'n';

}

3.2 指定要监听的网络适配器并打开

cout<<”输入要监听的网络适配器号:”>inum;

for(d=alldevs,i=0;inext,i++);

fp=pcap_open_live(d->name,65536,1,1000,errbuf);3.3 编译并设置过滤器

//编译过滤器,fp指向打开的网络适配器,fcode为编译完成后的过滤器存储地址,“tcp“给出了过滤条件,下一个参数表示是否被优化(0为false,1为true),最后一个参数给出了子网掩码。

pcap_compile(fp,&fcode,”tcp”,1,netmask)

pcap_setfilter(fp,&fcode)3.4 设置网络适配器为统计模式

if(pcap_setmode(fp,MODE_STAT)<0)

{

cout<<”n设置网络适配器模式错误!n”;

pcap_close(fp);

}

3.5 开始主循环,调用回调函数显示网络流量统计信息

//pcap_loop由Winpcap库定义,对每个采集来的数据包都用ProcessPacket函数进行处理,fp指向打开的网络适配器

pcap_loop(fp,0,dispatcher_handler,(PUCHAR)&st_ts);

pcap_close(fp);3.6 回调函数的实现

//对于捕获到的每一个数据包应用此回调函数

void dispatcher_handler(u_char *state,const struct pcap_pkthdr *header,const u_char *pkt_data)

{

struct timeval *old_ts=(struct timeval *)state;

u_int delay;

LARGE_INTEGER Bps,Pps;

struct tm *ltime;

char timestr[16];

time_t local_tv_sec;

//计算距上一个数据包的时间延迟,以ms为单位

//这个值是从与一个数据包相关的时间戳中截获的delay=(header->ts.tv_sec-old_ts->tv_sec)*1000000-old_ts->tv_usec+header->ts.tv_usec;

//获得每秒的比特数

Bps.QuadPart=(((*(LONGLONG*)(pkt_data+8))*8*1000000)/(delay));

//获得每秒的数据包数

Pps.QuadPart=(((*(LONGLONG*)(pkt_data))*1000000)/(delay));

//将时间戳转变位可读的标准格式

ltime=localtime(&header->ts.tv_sec);

strftime(timestr,sizeof timestr,”%H:%M:%S“,ltime);

//Print timestamp

printf(”%s“,timestr);

//Print the samples

printf(”BPS=%I64u“,Bps.QuadPart);

printf(”PPS=%I64un",Pps.QuadPart);

//store current timestamp

old_ts->tv_sec=header->ts.tv_sec;

old_ts->tv_usec=header->ts.tv_usec;

};4 结果及分析

安装好WinPcap软件,在VC++界面上点击工具->选项->目录。添加Include文件夹下的所有文件和Lib下的所有内容,调试完程序无误后,点击开始—>运行“cmd”进入目标文件夹Debug下运行EXE文件。此时程序会检测电脑系统中的网卡,等待程序的运行结果.图 捕获的IP地址和数据包的信息 常见问题及解决方法

在刚开始做此课程设计的时候我只编写了主程序代码,并没有建立工程,后来通过查找资料及文献才知道要建立一个C++应用工程,而且程序中用到的Winpcap库文件C++中并没有,需要自己下载WinPcap_4_1_1.exe和WpdPack_4_1_1.zip,前者是Winpcap的开发程序,后者是inlude文件和lib文件,这些都是需要自己手动添加的,这里include和lib文件夹里的东西VC++6.0里面没有,出现error: Cannot open include file:’pcap.h’:No such file or directory这个问题,就需要添加。具体步骤如下:

第一步: 点菜单栏上的“工具“,再点击下拉菜单中的”选项“对话框把winpcap开发包里面的lib文件添加进去。

第二步: 点击菜单栏里的工程——设置,选择连接在对象/库模块中输入wpcap.lib和packet.lib,再点C/C++ 在“预处理程序定义”下输入WPCAP和HAVE_REMOTE,要用逗号隔开。

至此,Winpcap环境已部署好了不会再出错了。

接下来出错的是程序中的一些函数的参数,比如说int pcap_compile(pcap_t *p, struct bpf_program *fp,char *str,int optimize, bpf_u_int32 netmask),int pcap_setfilter(pcap_t *p, struct bpf_program *fp)函数的参数在程序编译的时候会报错,通过搜集资料及与同学交流初步更正了错误,但是程序并不是很顺利地运行出来。

第五篇:计算机网络课程设计

目录

一﹑实验室概述...............................................................................................................................2

二、设计需求分析总括...................................................................................................................2

2.1、教学的具体需求......................................................................................................2

2.2、实验室的总体构思..................................................................................................3

三、实验室的总体结构规划...........................................................................................................3

3.1、网络实验室总体结构规划......................................................................................................3

3.2、一般实验室总体结构规划......................................................................................................5

2.2.1 核心机房..............................................................................................................................7

3.3、实训实验室总体结构规划......................................................................................................7

3.1.

1、实验环境............................................................................................................7

四、综合布线...................................................................................................................................8

4.1 设计范围及要求........................................................................................................................8

4.2.3 布线要求.................................................................................................................9

五、课程设计总结..............................................................................................

计算机网络课程设计

第一篇:计算机网络课程设计 实验一 交换式以太网路由互联 一、实验目的 学习掌握交换式以太网主机连接配置和...
点击下载
分享:
最新文档
热门文章
    确认删除?
    QQ
    • QQ点击这里给我发消息
    微信客服
    • 微信客服
    回到顶部