为您找到与windows双网卡相关的共5个结果:
Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。以下是读文网小编今天为大家精心准备的计算机相关论文范文:Windows。内容仅供参考,欢迎阅读!
Windows全文如下:
[摘要]文章通过CreateProcess创建进程命令函数原形、参数的详解,结合具体的实例从编写系统层次应用程序和用户应用程序的角度讲述了Windows 2000中进程管理的技术,介绍了创建进程的方法,以便使读者从中掌握Windows 2000的特性,编写更有效和更有用的程序
[关键词]进程;线程;句柄
新一代操作系统——Windows 2000是一个具有完整功能的环境,与其他操作系统相比完成同样的任务Windows 2000更出色。编程人员要编写系统层次应用程序和用户应用程序掌握Windows 2000中的进程管理至关重要。CreateProcess命令是WINDOWS2000中一个很重要的进程创建命令,下面介绍CreateProcess命令。
BOOL CreateProcess(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags,LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );
lpApplicationName:指向一个以空结尾的串,他指定了要执行的模块
lpCommandLine:指向一个以空结尾的串,该串定义了要执行的命令行。
lpProcessAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。lpThreadAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。bInheritHandles,:表明新进程是否从调用进程继承句柄。dwCreationFlags:定义控制优先类和进程创建的附加标志。lpEnvironment:指向一个新进程的环境块。lpCurrentDirectory:指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录。lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示。lpProcessInformation:指向PROCESS_INFORMATION结构,该结构接受关于新进程的表示信息。
若函数调用成功,则返回值不为0;若函数调用失败,返回值为0。ShellExecute和WinExec命令用于简单的作业。如果要完全控制一个新进程,就必须调用CreateProcess。
在上述参数中,参数lpStartupInfo是STARTUPINFO结构。可以用来设置控台的标题,新窗口的的初始大小和位置,及重定向标准输入和输出。新程序通常可以忽略多数这些数据项,如果选择那样做的话。可以规定该结构体中的标志,已表明要设置的数据段。有时,不想设置任何信息,也必须传递一个有效的指针给空结构(确定设置大小到cb,及设置dwFlags成员为0)。参数lpProcessInformation返回进程和线程句柄,还包括进程和线程ID。这些句柄拥有在参数lpProcessAttributes和lpThreadAttributes中规定的访问。要注意,针对CreateProcess的一些参数对控制台应用程序是特定的,而其它参数则对各种应用程序有用。
下面通过一个例子来说名CreateProcess和相关命令的使用。下面程序是两个简单的控制台应用程序,第一个程序(MASTER)运行第二个程序(SLAVE),并进入睡眠。SLAVE程序从命令行读取源程序的进程ID(PID),并等待MASTER程序终止。
程序清单 MASTER程序
#include #include #include #include
void main(int argc,char *argv[]) { char cmd[128];
if (argc!=1) strcpy(cmd,argv[1]);
elsestrcpy(cmd,”slave.exe”);
int pid=GetCurrentProcessId();
sprintf(cmd+strlen(cmd),” %d”,pid);
cout<<”Master: Starting:”<
cout.flush();
STARTUPINFO info;
memset(&info,0,sizeof(info));
info.cb=sizeof(info);
PROCESS_INFORMATION pinfo;
If(!CreateProcess(NULL,cmd,NULL,NULL,FALSE
c out<<” Master:Try naming slave process on the command linen”; }
cout<<”Master:Sleepingn”;
cout.flush();
Sleep(15000);
Cout<<”Master:Exitingn”;
exit(0);}
程序清单 SLAVE程序 #include #include #include
void main(int argc,char *argv[])
{if (argc!=2) { cout<<”Slave:Please rrun MASTER.EXE instead.n”;
exit(1);}
int pid=atoi(argv[1]);
HANDLE process=OpenProcess(PROCESS_QUERY_INFORMATION|SYNCHRONIZE,FALSE,pid);
if (!process) cot<<”Slave:Error opening processn”;
cout<<”Slave :Waiting for master to finishn”;
cout.flush();
if (WaitForSingleObject(process,INFINITE)==STAUTE_WAIT_0)
cout<<”Slave:Master completedn”;
else cout<<”Slave:Unexpected errorn”;
exit(0);}
浏览量:2
下载量:0
时间:
服务器配置,是指根据企业的实际需求针对安装有服务器操作系统的设备进行软件或者硬件的相应设置、操作,从而实现企业的业务活动需求。Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。以下是读文网小编今天为大家精心准备的成教计算机本科毕业论文范文:完整的Windows 2000服务配置。内容仅供参考,欢迎阅读!
完整的Windows 2000服务配置 全文如下:
摘要:对Windows 2000的客户端、路由器、DNS服务器、Web服务器进行配置,实现一个小型的互联网络。以及完成小型互联网络配置的意义。
关键词:服务、配置
The Windows of the integrity 2000 the services install
Abstract: To the Windows 2000 of customer carry, the router, server of DNS, server of Web carry on install, carrying out a small scaled Internet .And complete the meaning that small scaled Internet install.
Key words: services、install
1)DNS的理解和配置
2)WEB站点的建立和配置
3)WIN2000路由和远程访问服务的配置
4)模拟小型互联环境
五台装有WINDOWS 2000 SERVER的计算机。由于资源不足,主要使用WINDOWS 2000 SERVER代替路由器。以及对DNS、Web服务器的配置。
ip地址的划分与分配。
不管是实际应用的互联网还是实验性的互联网,在进行路由配置之前都应该绘制一张互联风的拓朴结结构图,用于显示网络、路由器以及主机的布局,与此同时,这张图还应反映每个网络的网络号、每条连接的IP地址以及每台路由器使用的路由协议。
下面这张结构图给出了本次实践需要配置静态路由及服务器的互联网拓朴结构图。该互联网由192.168.0.0,192.168.1.0,192.168.2.0,192.168.3.0 通过R1、R2这两个路由设备互连接而成,尽管此结构图中的R1和R2是由两台具有单网卡双IP地址的普通计算机组成,但由于它们需要完成路由选择和数据报转发等工作,因此,仍以通用路由符号表示。
以上已经提到配置的结构分成五个部分,下面配置过程将围绕这五个部分进行展开。
(一) 客户端的配置
客户机系统是Win 2000 professional ,这个实验中客户端的配置主要是对其“TCP/IP属性”进行设置。聚体过程如下:
右击“网上邻居”——“属性”,右击“本地连接”——“属性”,在其后的“本地连接属性”常规选项中选择“Internet 协议 (TCP/IP)”双击该选项。弹出属性框,选择“使用下面的IP地址”IP地址:192.168.0.11 子网掩码:255.255.0.0 网关:192.168.0.12 因为客户机要通过路器1访问WEB服务器,因此把客户机的“默认网关”设为路由器1的IP 192.168.0.12。需要注意,一台主机默认路由的IP地址应与该主机的IP地址处于同一网络或子网。 首选DNS服务器:192.168.1.12 --“确定” ,即完成客户端的配置。
(二) 路由器R1、R2的配置
Windows 2000 Server 网络操作系统提供了很强的路由功能,而且可以将多个地址绑定到一块网卡,由于单网卡多IP地址实践方案不但不需要昂贵的专用路由器,而且不需要针对已组装网络的物理硬件进行改动,因此不失为做实验的好方法。另外两种方法为用以双网卡或用专用路由器。相较之下就无前一种方法方便实用。
路由设备R1和R2通过两将两个属于不同子网的IP地址绑定到一块网卡实现两个子网的互联。在配置路由器之前,先“运行”输入services.msc。将其中的“Routing and Remote Access”这个服务开启,这个服务是用于在局域网以及广域网环境中为企业提供路由服务。R1把两个IP绑定到一块网卡的配置过程如下:
(1) 启动R1,在Windows 2000 Server 桌面中通过“开始”——“设置”——“网络和拨号连接”——“本地连接”——“属性”进入“本地连接属性”窗口。
(2) 选中“此连接使用下列选定的组件”列表框中的“Internet 协议 (TCP/IP)属性”对话框。
(3) 在“Internet 协议 (TCP/IP)属性”对话框中单击“高级”按钮,将出现“高级TCP/IP设置”对话框。
(4) 利用IP地址的“添加”按钮,就可以依次将R1的两个IP地址添加到“IP地址”列表框。路由器R1的IP 分别为192.168.0.12 、192.168.1.11。 DNS:192.168.1.12
(5) 子网掩码为:255.255.0.0
(6) 完成两个IP地址添加后,单击“确定”按钮返回“Internet 协议 (TCP/IP)属性”对话框。然后,通过单击“Internet 协议 (TCP/IP)属性”对话框中的“确定”按钮和“本地连接属性”窗口中的“确定”按钮,结束R1地址配置过程。
路由器R2的IP地址配置过程与R1的配置过程相同。路由器R2的IP 分别为192.168.2.12 、192.168.3.11。 DNS:192.168.1.12
(三) DNS服务器的配置
在配置DNS之前,让我们先来了解一下DNS。
DNS即(Domain Name System)域名系统。在TCP/IP互联网中,可以使用IP地址的32位整数来识别主机。虽然这种地址能方便、紧凑地表示互联网中传递分组的源地址和目的地址。但是,对一般用户而言,IP地址还是太抽象了,最直观的表达方式也不外乎将它分成4个十进制数。用户更愿意利用好读、易记的字符串为主机指派名字。于是域名系统诞生了。
实质上,主机名是一种比IP更高级的地址形式,主机名的管理、主机名-IP地址映射等是域名系统要解决的重要问题。
域名解析:就是将用户提出的名字变换成网络地址的方法和过程,从概念上讲,域名解析是一个自上而下的过程。
当客户机需要访问Internet上某一主机时,首先向本地DNS服务器查询对方IP地址,往往本地DNS服务器继续向另外一台DNS服务器查询,直到解析出需访问主机的IP地址。
DNS共有三种查询模式:递归DNS查询、迭代DNS查询、反向DNS查询。
递归查询(Recursive Query):客户机送出查询请求后,DNS服务器必须告诉客户机正确的数据(IP地址)或通知客户机找不到其所需数据。如果DNS服务器内没有所需要的数据,则DNS服务器会代替客户机向其他的DNS服务器查询。客户机只需接触一次DNS服务器系统,就可得到所需的节点地址。
迭代查询(Iterative Query):客户机送出查询请求后,若该DNS服务器中不包含所需数据,它会告诉客户机另外一台DNS服务器的IP地址,使客户机自动转向另外一台DNS服务器查询,依次类推,直到查到数据,否则由最后一台DNS服务器通知客户机查询失败。
反向查询(Reverse Query):客户机利用IP地址查询其主机完整域名,即FQDN。
DNS安装
选择一台已经安装好Windows 2000的服务器,确认其已安装了TCP/IP协议,首先设置服务器自己TCP/IP协议的DNS配置,将DNS服务器的IP地址设为静态。
步骤一,运行“开始”/“设置”/“网络和拨号连接”,鼠标右键单击“本地连接”,选择“属性”/“Internet协议(TCP/IP)”/“属性”。
步骤二,运行“控制面板”中的“添加/删除程序”选项,选择“添加/删除Windows组件”。
步骤三,选择“网络服务”复选框,并单击“详细信息”按钮,出现“网络服务”对话框。
步骤四,在“网络服务”对话框中,选择“域名系统(DNS)”,单击“确定”按钮,系统开始自动安装相应服务程序。完成安装后,在“开始”/“程序”/“管理工具”应用程序组中会多一个“DNS”选项,使用它进行DNS服务器管理与设置。而且会创建一个%systemroot%system32dns文件夹,其中存储与DNS运行有关的文件,例如:缓存文件、区域文件、启动文件等。
Windows 2000的DNS服务器支持以下三种区域类型:
(1)标准主要区域
该区域存放此区域内所有主机数据的正本,其区域文件采用标准DNS规格的一般文本文件。当在DNS服务器内创建一个主要区域与区域文件后,这个DNS服务器就是这个区域的主要名称服务器
(2)标准辅助区域
该区域存放区域内所有主机数据的副本,这份数据从其主要区域利用区域转送的方式复制过来,区域文件采用标准DNS规格的一般文本文件,只读不可以修改。创建辅助区域的DNS服务器为辅助名称服务器。
(3)Active Directory集成的区域
该区域主机数据存放在域控制器的Active Directory内,这份数据会自动复制到其他的域控制器内,在创建新的区域之前,首先检查一下DNS服务器的设置,确认已将"IP地址"、"主机名"、"域"分配给了DNS服务器。检查完DNS的设置,按如下步骤创建新的区域:步骤一,选择"开始"/"程序"/"管理工具"/"DNS",打开DNS管理窗口。
步骤二,选取要创建区域的DNS服务器,右键单击"正向搜索区域"选择"新建区域",出现"欢迎使用新建区域向导"对话框时,单击"下一步"按钮。
步骤三,在出现的对话框中选择要建立的区域类型,这里我们选择"标准主要区域",单击"下一步",注意只有在域控制器的DNS服务器才可以选择"Active Directory集成的区域"。
步骤四,出现"区域名"对话框时,输入新建主区域的区域名,例如:zzpi.edu.cn,然后单击"下一步",文本框中会自动显示默认的区域文件名。如果不接受默认的名字,也可以键入不同的名称。
步骤五,在出现的对话框中单击"完成"按钮,结束区域添加。新创建的主区域显示在所属DNS服务器的列表中,且在完成创建后,"DNS管理器"将为该区域创建一个SOA记录,同时也为所属的DNS服务器创建一个NS或SOA记录,并使用所创建的区域文件保存这些资源记录。
添加DNS domain
首先选择要划分子域的zone,如zzpi.edu.cn,右键单击选择"新建域",在其中输入域名"ComputerDepartment",单击"确定"按钮完成操作
在“zzpi.edu.cn”下面出现“ComputerDepartment”域。
添加DNS记录
创建新的主区域后,"域服务管理器"会自动创建起始机构授权、名称服务器、主机等记录。除此之外,DNS数据库还包含其他的资源记录,用户可自行向主区域或域中进行添加。这里先介绍常见的记录类型:
(1)起始授权机构,SOA(Start Of Authority):该记录表明DNS名称服务器是DNS域中的数据表的信息来源,该服务器是主机名字的管理者,创建新区域时,该资源记录自动创建,且是DNS数据库文件中的第一条记录。
(2)名称服务器,NS(Name Server):为DNS域标识DNS名称服务器,该资源记录出现在所有DNS区域中。创建新区域时,该资源记录自动创建
(3)主机地址A(Address):该资源将主机名映射到DNS区域中的一个IP地址。
(4)指针PTR(Point):该资源记录与主机记录配对,可将IP地址映射到DNS反向区域中的主机名。
(5)邮件交换器资源记录MX(Mail Exchange):为DNS域名指定了邮件交换服务器。在网络存在E-mail服务器,需要添加一条MX记录对应E-mail服务器,以便DNS能够解析E-mail服务器地址。若未设置此记录,E-mail服务器无法接收邮件。
别名CNAME(Canonical Name):仅仅是主机的另一个名字。
按照结构图要求可将DNS服务器配置完成。
(四)WEB服务器的配置
World Wide Web(也称Web、WWW或万维网)是Internet上集文本、声音、动画、视频等多种媒体信息于一身的信息服务系统,整个系统由Web服务器、浏览器(Browser)及通信协议等3部分组成。WWW采用的通信协议是超文本传输协议(HTTP,HyperText Transfer Protocol),它可以传输任意类型的数据对象,是Internet发布多媒体信息的主要协议。
WWW中的信息资源主要由一篇篇的网页为基本元素构成,所有网页采用超文本标记语言(HTML,HyperText Markup Language)来编写,HTML对Web页的内容、格式及Web页中的超链进行描述。Web页间采用超级文本(HyperText)的格式互相链接。当鼠标的光标移到这些链接上时,光标形状变成一手掌状,点击即可从这一网页跳转到另一网页上,这也就是所谓的超链。
Internet中的网站成千上万。为了准确查找。人们采用了统一资源定位器(URL,Uniform Resource Locator)来在全世界唯一标识某个网络资源。其描述格式为:
协议://主机名称/路径名/文件名:端口号
例如:http://www.zzpi.edu.cn,客户程序首先看到http(超文本传输协议),知道处理的是HTML连接,接下来的是www.zzpi.edu.cn站点地址(对应一特定的IP地址),http协议默认使用的TCP协议端口为80,可省略不写。
在Windows 2000中推出了Internet Information Server 5.0(简称IIS5.0)提供了方便的安装和管理,增强的应用环境,基于标准的发布协议,在性能和扩展性方面有了很大的改进,为客户提供更佳的稳定性和可靠性。IIS是基于TCP/IP的Web应用系统,使用IIS可使运行Windows 2000的计算机成为大容量、功能强大的Web服务器。IIS不但可以通过使用HTTP协议传输信息,还可以提供FTP和Gopher服务,这样,IIS可以轻松地将信息发送给整个Internet上的用户。
IIS5.0的具体安装步骤如下:
步骤一,运行“控制面板”中的“添加或删除程序”,点击“添加/删除Windows组件”按钮。
步骤二,在出现组件安装向导中,选择“Internet信息服务(IIS)”,单击“下一步”开始安装,单击“完成”结束。
系统自动安装组件,完成安装后,系统在“开始”/“程序”/“管理工具”程序组中会添加一项“Internet服务管理器”,此时服务器的WWW、FTP等服务会自动启动。
注意,如果您升级到 Windows 2000,只有在前一版 Windows 中安装了 IIS, IIS 5.0才会默认安装。
选择“开始”/“程序”/“管理工具”/“Internet服务管理器”,打开“Internet信息服务” 管理窗口,窗口显示计算机上已经安装好的Internet服务,而且都已经自动启动运行,其中Web站点有两个,分别是默认Web站点及管理Web站点。
1.使用IIS的默认站点
步骤一,将制作好的主页文件(html文件)复制到Inetpubwwwroot目录,该目录是安装程序为默认Web站点预设的发布目录。
步骤二,将主页文件的名称改为Default.htm。IIS默认要打开的主页文件是Default.htm或Default.asp,而不是一般常用的Index.htm。
完成这两个步骤后,打开本机或客户机浏览器,在地址栏中输入此计算机 IP地址或主机的FQDN名字(前提是DNS服务器中有该主机的记录)来浏览站点,测试Web服务器是否安装成功,WWW服务是否运行正常。
站点开始运行后,如果要维护系统或更新网站数据,可以暂停或停止站点的运行,完成上述工作后,再重新启动站点。
2.添加新的Web站点
步骤一,打开“Internet信息服务窗口”,鼠标右键单击要创建新站点的计算机,在弹出菜单中选择“新建”/“Web站点”,出现“Web站点创建向导”,单击“下一步”继续。
步骤二,在“Web站点说明”文本框中输入说明文字,单击“下一步”继续,输入新建Web站点的IP地址和TCP端口地址。如果通过主机头文件将其它站点添加到单一IP地址,必须指定主机头文件名称。
Web站点建立好之后,可以通过“Microsoft 管理控制台”进一步来管理及设置Web站点,站点管理工作既可以在本地进行,也可以远程管理。
1.本地管理
通过“开始”/“程序”/“管理工具”/“Internet服务管理器”,打开“Internet信息服务窗口”,在所管理的站点上,单击鼠标右键执行“属性”命令,进入该站点的“属性”对话框。
(1)“Web站点”属性页
在Web站点的属性页上主要设置标识参数、连接、启用日志记录,主要有以下内容:
说明:在“说明”文本框中输入对该站点的说明文字,用它表示站点名称。这个名称会出现在IIS的树状目录中,通过它来识别站点。
IP地址:设置此站点使用的IP地址,如果构架此站点的计算机中设置了多个IP地址,可以选择对应的IP地址。若站点要使用多个IP地址或与其他站点共用一个IP地址,则可以通过高级按钮设置。
TCP端口:确定正在运行的服务的端口。默认情况下公认的WWW连接端口为80。如果设置了其他端口,例如:8080,则用户在浏览该站点时,必须输入这个端口号,如:http://www.zzpi.edu.cn:8080。 连接:“无限”表示允许同时发生的连接数不受限制;“限制到”表示限制同时连接到该站点的连接数,在对话框中键入允许的最大连接数;“连接超时”设置服务器断开未活动用户的时间;“启用保持HTTP激活”允许客户保持与服务器的开放连接,而不是使用新请求逐个重新打开客户连接,禁用则会降低服务器性能,默认为激活状态。这一选择页的设置关系到对网络及服务器优化管理,例如,若发现本服务器负载过大,应限制连接数量。
启用日志:表示要记录用户活动的细节,在“活动日志格式”下拉列表框中可选择日志文件使用的格式。单击“属性”按钮可进一步设置记录用户信息所包含的内容,如用户IP、访问时间、服务器名称等。默认的日志文件保存在winntsystem32logfiles子目录下。良好的管理习惯应注重日志功能的使用,通过日志可以监视访问本服务器的用户、内容等,对不正常的连接和访问加以监控和限制。
(2)“主目录”属性页
可以设置Web站点所提供的内容来自何处,内容的访问权限以及应用程序在此站点的执行许可。
Web站点的内容包含各种给用户浏览的文件,例如HTML文件、ASP程序文件等,这些数据必须指定一个目录来存放,而主目录所在的位置有3中选择:
此计算机上的目录:表示站点内容来自本地计算机。
另一计算机上的共享位置:站点的数据也可以不在本地计算机上,而在局域网上其他计算机中的共享位置,注意要在网络目录文本框中输入其路径。并按“连接为”按钮设置有权访问此资源的域用户帐号和密码。
重定向到URL(U):表示将连接请求重新定向到别的网络资源,如某个文件、目录、虚拟目录或其他的站点等。选择此项后,在重定向到文本框中输入上述网络资源的URL地址。
执行许可:此项权限可以决定对该站点或虚拟目录资源进行何种级别的程序执行。“无”只允许访问静态文件,如HTML或图像文件;“纯文本”只允许运行脚本,如ASP脚本;“脚本和可执行程序”可以访问或执行各种文件类型,如服务器端存储的CGI程序。
应用程序保护:选择运行应用程序的保护方式。可以是与Web服务在同一进程中运行(低),与其他应用程序在独立的共用进程中运行(中),或者在与其他进程不同的独立进程中运行(高)。
(3)“操作员”属性页
使用该属性页可以设置哪些用户帐号拥有管理此站点的权力,默认只有Administrators组成员才能管理Web站点,而且无法利用“删除”按钮来解除该组的管理权利。如果你是该组的成员,可以在每个站点的这个选项中利用“添加”及“删除”按钮来个别设置操作员。虽然操作员具有管理站点的权力。但其权限与服务器管理员仍有差别。
(4)“性能”属性页
性能调整:Web站连接的数目愈大时,占有的系统资源愈多。在这里预先设置的Web站点每天的连接数,将会影响到计算机预留给Web服务器使用的系统资源。合理设置连接数可以提高Web服务器的性能。
启用带宽抑制:如果计算机上设置了多个Web站点,或是还提供其他的Internet服务,如文件传输、电子邮件等,那么就有必要根据各个站点的实际需要,来限制每个站点可以使用的带宽。要限制Web站点所使用的带宽,只要选择“启用带宽抑制”选项,在“最大网络使用”文本框中输入设置数值即可。
启用进程限制:选择该选项以限制该Web站点使用CPU处理时间的百分比。如果选择了该框但未选择“强制性限制”,结果将是在超过指定限制时间时把事件写入事件记录中。
(5)“文档”属性页
启动默认文档:默认文档可以是HTML文件或ASP文件,当用户通过浏览器连接至Web站点时,若未指定要浏览哪一个文件,则Web服务器会自动传送该站点的默认文档供用户浏览,例如我们通常将Web站点主页default.htm、default.asp和index.htm设为默认文档,当浏览Web站点时会自动连接到主页上。如果不启用默认文档,则会将整个站点内容以列表形式显示出来供用户自己选择。
(6)“HTTP头”属性页
1.在“HTTP标题”属性页上,如果选择了“允许内容过期”选项,便可进一步设置此站点内容过期的时间,当用户浏览此站点时,浏览器会对比当前日期和过期日期,来决定显示硬盘中的网页暂存文件,或是向服务器要求更新网页。
2.远程管理Web站点
远程管理就是系统管理员可以在任何地方,例如出差或是在家里,从任何一个终端客户端,可以是Windows2000 Professional、Windows2000 Server或是Windows98,来管理Windows 2000域与计算机,它们可以直接运行系统管理工具来进行管理工作,这些操作就好象在本机上一样。要实现这些管理首先要安装终端服务,设置终端服务器与终端客户端,才可以进行远程管理与远程控制。
首先在客户机的IE浏览器中输入Web服务器的IP地址,如果配置结果正确的话,客户机将会显示Web服务器上所建立的网页,如果不能够访问,则可以用以下命令进行测试:Ping及Tracert。
用法如下:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] destination-list
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list.
-w timeout Wait timeout milliseconds for each reply.
Ping命令用于测试网络的连通性,Tracert命令用于测试路由的走向。
在客户机上Ping Web服务器,如果通的话则可以正常访问。如果不通可按以下步骤进行测试:
1.在客户机上Ping其它四台计算机,测试是否连通。
在实验过程中发现一个问题:Ping DNS服务器,测试其连通性。如果正常,则可暂时确定问题出在DNS服务器与Web服务器之间。
2.如果计算机之间通信正常但还不能正确访问Web服务器则可用Tracert Web服务器IP 命令查看其路由走向。从而确定问题的所在。
信息技术的进步使信息在瞬间可以流遍全球,凭借信息技术,信息资源可以全球共享。在配置这个小型网络结构的时候,我认为其更为重大的意义就是实现资源共享。配置这个网络结构遇到了一些问题,最终得到了完善的解决,在实验过程中由于是大家互相合作,更有一种合作精神融入其中从中也可以为我们走上社会或在处理问题时得到一种比较实用的锻炼。作为我们也是非常有必要并且应该去积极地接受。对于我个人,我认为在这次毕业设计过程中学到的东西虽然没有工作过程中学到的多,但是却很有必要,我也希望像指导老师说的那样,学习其中的内涵。知识无穷尽。是不可能学得完的。应该像老师说的那样将知识融会贯通,毕业设计中包含了知识的学习、人的组织能力、应变能力以及对问题处理所具有的正确的逻辑思维能力。这才是毕业设计更重要的一层。
[1] 徐敬东 张建忠 《计算机网络》——北京:清华大学出版社,2002
[2] 张浩军 《计算机网络操作系统》——北京:中国水利水电出版社,2003
浏览量:2
下载量:0
时间:
驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被比作“ 硬件的灵魂”、“硬件的主宰”、和“硬件和系统之间的桥梁”等。以下是读文网小编为大家精心准备的:windows nt环境下fddi网卡驱动程序设计相关论文。内容仅供参考,欢迎阅读!
windows nt是一个功能全面的操作系统,具有完全集成式的连网能力,它的网络模型开始于mac子层,网络接口卡(network interface card以后简称网卡或nic)驱动程序驻留在其中。通过相关的网卡把windows nt与网络连接起来,但一直到80年代后期,许多传输协议的实现受限于mac层接口的独特实现,因为mac层定义了协议与网卡之间的转换机制。
1989年,microsoft和3com两公司提出了一个定义mac层与osi模型高层协议驱动程序之间的网络设备接口规范(network device interface specification : ndis),ndis给数据交换提出了一个灵活的环境,它规范了软件接口──称为ndis接口,传输协议可用它与网卡驱动程序进行通信。因此在windows nt环境下开发核心态网卡驱动程序应遵循ndis规范。
对于高速网络fddi(fiber distributed data interface)网卡驱动程序还需要smt(station management)站管理功能的实现,否则将不能作为一个fddi站连入环结构中,只能实现点到点间的数据通信。故有必要将smt软件移植到网卡驱动程序中,这将又导致对miniport nic驱动程序编程框架的破坏,于是有必要形成fddi网卡驱动程序(包含smt)与windows nt操作系统的良好接口──由逻辑网卡的注册和mac层驱动程序的初始化来完成。
所以,本课题旨在深入研究应用microsoft公司的ddk(device driver kit)将smt移植于windows nt的fddi网卡驱动程序过程中如何注册miniport nic驱动程序。即怎样正确注册逻辑网卡和mac驱动程序的初始化。着重讨论与初始化相关的上边缘函数的使用和调用关系以及初始化过程中遇到的各种问题的具体解决。
总体结构介绍
第一节windows nt网络结构
§1.1.1 windows nt网络体系结构
windows nt的网络体系结构是基于国际标准化(iso)制定的标准模型──开放式系统互连(open system interconnection:osi)参考模型分层建立的,这种方式有利于随时扩展其它功能和服务。
windows nt网络模型开始于mac子层,网卡驱动程序就驻留在其中。它通过相关的网卡把windows nt与网络连接起来,图中的多个网卡表明在一台运行windows nt的计算机上能使用多种网卡。
这一网络体系结构包括两个重要接口──ndis接口与传输驱动
程序接口(tdi)。这两个接口把两个层隔离开来,办法是相邻的部件只允许按单一的标准来写,不允许多重标准。例如一个网卡驱动程序(在ndis接口的下面)就不需要特地按每个传输协议来写它的代码块,恰恰相反,该驱动程序是写给ndis接口的,它通过符合ndis的相应传输协议来请求服务。这些接口包含在windows nt的网络体系结构中,以容纳可移植、可互换的模块。
在两个接口之间,是传输协议。它在网络中起着组织者的作用。一个传输协议规定了数据以何种方式呈递给下一个接收层,以及如何对数据相应地进行打包。它通过ndis把数据传给网卡驱动程序,并通过tdi把数据传给转发程序(redirector)
tdi之上是转发程序,它把本地的网络资源申请转送给网络。
为了能和其他厂商的网络互连,windows nt允许有多个转发程序。对于每一个转发程序windows nt计算机必须也有一个相应的供应者(provider)(由网络厂商提供)。多供应者路由选择程序决定适当的供应者,然后借助于供应者,对应用请求到相应的转发程序做出选择。
§1.1.2 windows nt网络驱动程序
windows nt支持两种类型的网络驱动程序
传输驱动程序
实现数据链路层中的逻辑链路控制子层协议和传输层协议。向 下与ndis接口,向上与tdi接口。
网卡驱动程序
实现对物理层的管理和数据链路层中介质访问控制子层协议,通过ndis向下管理物理网卡,向上与传输驱动程序通信。
§1.1.3 windows nt网卡驱动程序
windows nt环境下的网卡驱动程序也分为两种:
miniport网卡驱动程序:miniport驱动程序只须实现与网络硬件相关的操作(包括发送和接收)。而所有底层网卡驱动程序的通用操作(如同步),一般由ndis接口程序来实现。
full网卡驱动程序:full网卡驱动程序必须实现所有硬件相关和同步、排队等操作。例如full网卡驱动程序为了响应数据接收,需要保持本身的捆绑信息,而miniport就可以由ndis接口库来实现。
在windows nt的早期版本中,full网卡驱动程序要求开发者实现许多底层操作,来处理多处理器的核心问题以及处理器、线程的同步,这样不同的开发者在大量重复着许多相同的工作。
而miniport网卡驱动程序允许开发者仅仅写一些与网络硬件相关的代码即可,而那些通用的函数由ndis接口库来实现,这样开发出来的驱动程序减少了不必要的工作。
第二节miniport驱动程序的结构
ndis接口规范了网卡驱动程序的实现,同时也对tdi驱动程序的实现提出了一定的要求,在nt中,ndis约束下的网卡驱动程序、tdi驱动程序和系统的关系如下图所示:
图2.0 ndis约束下的网卡驱动程序、tdi驱动程序和系统的关系
miniport驱动程序包括驱动程序对象、驱动程序源代码和ndis接口库代码。windows nt ddk提供ndis.h作为miniport驱动程序的主要头文件,定义了miniport驱动程序的入口点、ndis接口库函数和通用数据结构。
上边缘函数的作用是网卡驱动与ndis接口库进行通信,而下边缘函数是tdi协议驱动程序与ndis通信的手段。
§1.2.1 miniport网卡对象
ndis用一个叫做逻辑网卡的软件对象来描述系统中的每块网卡,而逻辑网卡与windows nt设备对象的通信由i/o子系统来管理,描述网卡的设备对象包括相关的网络信息如名字、网络地址和网卡内存基地址等,它还包含与硬件相关的驱动程序状态数据(捆绑数目,捆绑句柄,包过滤数据库等)。ndis分配一个句柄到miniportinitialize这个上边缘函数的一个结构中,然后miniport网卡驱动程序将在以后提供这个句柄来给ndis调用,这个结构一直被ndis保持,并且对miniport驱动程序不透明。
当miniport网卡驱动程序初始化一块网卡时,它创立自己的内部数据结构来描述网卡,记录需要它管理的与设备相关的状态信息。当miniport网卡驱动程序调用ndismsetatttibutes或ndismsetattributesex两ndis库函数时,它传递一个句柄给这数据结构。这样,当调用miniport驱动程序入口点时,它就传递这个句柄来验证驱动程序所对应的网卡的正确性。这个数据结构为miniport网卡驱动程序所拥有并维护。
§1.2.2网络对象标识符
miniport nic驱动程序还需要维护一组对象,这些对象是系统定义的对象标识符(object idetifier:oid)来标识,以描述驱动程序的性能和当前状态信息。为查询这些信息,上层驱动程序调用ndisrequest向ndis接口库指示oid。oid表示了调用所需的信息类型,如miniport驱动程序所支持的lookahead缓冲区大小等。ndis接到上层驱动程序的查询请求,将oid传递给上边缘函数miniportqueryinformation实现对oid的查询,如果上层驱动程序请求改变状态信息则调用miniportsetinformation实现对oid的设置。
§1.2.3 miniport网卡驱动程序代码
典型的miniport nic驱动程序必须有一些函数来通过ndis接口实现上层驱动程序与硬件的通信。这些函数称为上边缘服务函数。
这些上边缘服务函数由驱动程序的开发者根据驱动程序面向的特定低层网络类型和硬件以及相应环境,可以有选择地实现,但必须保证驱动程序最基本的功能,这些基本功能包括初始化、发送、中断处理、重置、参数查询与设置和报文接收。
miniportinitialize:操作系统根据系统配置信息,检测出网卡已安装时,由ndis接口在初始化时调用,主要完成低层网络类型确定,对应于物理网卡的逻辑网卡初始化,中断信息注册,网卡与主机通讯方式的确认。i/o端口的申请与注册,内存映像,mib的初始化,物理网卡的验证与初始化等。
miniportreconfigure:支持网卡参数动态变化,和miniportinitilize一样由ndis接口以初始化级别调度执行(不能屏蔽中断,必须由驱动程序承认并清除在此期间产生的中断),支持即插即用和软配置的网卡在动态改变参数时,必须提供此函数。
miniportqueryinformation:查询网卡的状态以及网卡驱动程序的操作或统计参数,如是否支持组通讯、网卡的物理速率是否支持回环、是否支持直接拷贝等,这些参数以oid方式统一管理。
miniportsetinformation:ndis接口或协议驱动程序通过调用此接口改变驱动程序维护的oid库,一些操作参数的改变也将同时改变驱动程序状态,例如组地址的设置。
miniportreset:包括网卡硬件重置和驱动程序软件重置,软件重置包括驱动程序状态重置,以及一些相关的参数重置,还需考虑有些参数的恢复,重置时不必完成所有正在活跃的外部请求,但必须释放已占用的外部资源。
miniporthalt:挂起网卡并释放该网卡驱动程序占用的所有资源,在此期间不屏蔽中断。
miniportisr:高优先级的中断处理程序,进行的工作包括初始中断处理类型,决定是否进行中断转交,对卡上中断进行处理 等,该服务类型只在以下情况被调用:
ndis接口调用miniportinitialize和miniporthalt两函数时。
.中断处理类型设为每此中断处理过程都调用时。
为使系统能及时响应所有硬件中断,高优先级的硬件中断处理程序应尽可能的减少运行时间,防止长时间的屏蔽低优先级中断,避免造程中断丢失。
miniporthandleinterrupt:由中断延时处理程序在中断延时处理时进行调用。ndis排队所有的延时处理,该服务主要处理发送完成、报文接收、描述符用尽、溢出、网卡异常等中断。
miniportsend:ndis收到上层发送请求时经过若干协议处理再向下调用此服务过程,发送的packet已含有llc和mac头,该服务过程进行边界对齐、packet约束重整、描述符映射和报文发送、以及发送资源和packet缓冲队列管理。
miniporttransferdata:多个已和网卡捆绑的协议驱动程序在接收到报文到达指示后,向网卡驱动程序发出传送请求以拷贝各自所需的报文数据部分,网卡驱动程序根据各协议驱动程序对单个packet是否进行多次拷贝,以决定是否暂存只允许单次拷贝的packet等。
miniportcheckhandle:ndis每秒调用此服务函数一次,驱动程序发现网卡异常时报告给ndis由ndis调用miniportreset进行硬件重恢复。
miniportenableintrrupt:中断使能。
miniportdisableinterrupt:中断屏蔽。
另外,每个网卡驱动程序必须有一个初始化入口点,由driver entry函数实现,它和系统相关,由操作系统在装入驱动程序时调用,主要完成初始化ndis wrapper,再由wrapper初始生成驱动程序管理块并完成相应各种初始化工作,登录网卡驱动程序所有上边缘服务入口点,同时写入ndis版本信息。
§1.2.4 ndis接口库
ndis接口库包括在ndis.sys中,它是一个核态函数库,有一套抽象的函数,无论协议驱动程序还是nic驱动程序都连接到这个库中,以实现上下层之间的操作。
第一节 网卡驱动程序的安装
windows nt网卡驱动程序安装的目的是实现网卡相应硬件信息和驱动程序在windows nt注册库中的注册,使windows nt能够正确识别网卡,了解所必需的软硬件信息并能在windows nt启动时加载相应驱动程序。
网卡驱动程序安装时,首先在主群组的控制面板中选择“网络”,然后添加网卡,指定相应信息文件──oemsetup.inf的路径,以完成以下两个必要的操作:
复制驱动程序到相应的系统目录(windows nt根目录system32drivers)中;
在windows nt注册库中存入相应软硬件信息。
下面主要以fddi网卡为例介绍安装驱动程序所必需的工作:
§2.1.1网卡一般硬件参数
对于fddi网卡,必须在编写其oemsetup.inf文件时确定以下硬件参数:
总线类型:pci(5)……括号中的数字5表示pci总线在ndis中的总线类型代码;
厂商代号:0x5588……系统加载时确定网卡的标记,也是编程时确定pci槽号的标识;
cfid: 0x01;
介质类型:光纤(3) ……括号中的数字表示光纤在ndis中的介质类型代码;
是否支持全双工:支持。
对于其它的硬件信息在此inf配置信息文件中可有可无,如若配置,则可在驱动程序的编写时利用这些信息,方便编程,同时有利于其它应用对其参数的确定和使用。
§2.1.2 fddi网卡加载时需在注册库登录表里做的网络配置
网卡驱动程序的安装通常将创建登录表中的四个不同子键:
software registrion键,对应于驱动程序,存在于hkey_local_machinesoftwarecompany productnameversion中。我们的fddi网卡驱动程序所对应的是hkey_local_machinesoftwarenet612yhfddiyhfddi1.0;
网卡的软件登录键,存在于hkey_local_machinesoftwaremicrosoft windows ntnt3.51networkcardsyhfddi1;
驱动程序的服务登录键,存在于hkey_local_machinesystemcurrentcontrolsetservices
网卡的服务登录键,存在于hkey_local_machinesystemcurrentcontrolsetservices
对于每一个网络部件,一个名为netrules的特殊子键在邻近的驱动程序或网卡登录子键里创建,netrules标识网络部件为网络整体的一部分。
fddi网卡驱动程序对应的标准软件登录表项将出现在以下路径:
hkey_local_machinesoftwarenet612yhfddiyhfddi1.0;
驱动程序对应的标准项的值为:
description =yhfddi/pci adapter controller
install date =……
……
refcount =0x01
servicename =yhfddi
softwaretype =driver
title =yhfddi/pci adapter controller
而且在yhfddi驱动程序相关的netrules子键下,这些值项为:
bindable =yhfddi driver yhfddi adapter non exclusiver
bindform =“yhfddisys”yes no container
class = reg_multi_sz “yhfddi driver basic”
infname =oemnad1.inf
type =yhfddisys ndisdriver yhfddidriver
use =driver
yhfddi网卡在如下路径的networkcards子键里介绍:
hkey_local_machinesoftwaremicrosoft
windows ntnt3.51networkcardsyhfddi1;
网卡的标准项包括以下这些值:
description =yhfddi/pci adapter controller
install date =……
manufacturer =net612
productname =yhfddi
servicename =yhfddi01
title =[01]yhfddi/pci adapter controller
§2.1.3编写inf信息配置文件
gui inf描述语言被windows nt用以书写系统所有部件的配置文件,当然也可以用以书写网络系统各部件的配置文件,该配置文件描述了网络部件安装、配置、删除的执行过程。当网络部件进行初始安装或二次安装(通常通过ncpa进行)时,安装程序读取部件对应的配置文件,进行解释执行。gui inf描述语言由节、命令、逻辑操作、变量规范、流程控制以及一套调用dll或外部程序的机制组成,其中,节是配置文件的主体,节可分为install节(类似于函数),shell节(也类似于函数,但可调用insall和shell节),detect节(不包含命令),一个配置文件一般由若干不同类型的节组成。驱动程序的开发者根据需要可以在配置文件中编写相应代码,使得用户和系统之间能进行交互,并且由用户决定一些配置参数。
nt网卡配置文件有其一套规范,驱动程序开发者必须按规范编写配置文件,一般来说,一个配置文件至少应该提供下面三个节:
安装入口点:[identify]shell节。该节主要功能是给出安装部件的类型名,系统通过它识别该部件属于哪一大类(display,mouse,scsi,network等)中的哪一类(网络adapter,driver,transport,service,network和netprovidor),同时,还需要给出映像文件和配置文件所在的源介质及标识。
[returnoption]shell节。系统执行安装identify节后,执行该节。它主要功能是检查所需安装的部件是否支持的硬件平台和语言,并给出网卡名(有些配置文件支持多类网卡,此时必须让用户进行选择,并获得选择结果)。
[installoption]shell节。该节是配置文件得主体,也是上次安装完后再次进行配置、删除、更新的入口点。主要功能是拷贝映像文件和配置文件,生成配置的各种选项,创建该部件在注册库中对应的各种登录子树并更新重写。
第二节 驱动程序的加载过程
§2.2.1 windows nt的启动过程
第一阶段:调入装入程序。和硬件平台相关,x86机器首先由rom装入根扇区,再由根扇区装入ntldr;
第二阶段:硬件检测。x86机器调ntdetect程序最大限度地获取各种硬件设备信息,引导hal及基本卷设备驱动程序,以便引导nt内核;
第三阶段:获取注册库中各种控制信息,如用户定义的非页内存大小;第四阶段:初始化注册库 registrymachine下system和hardware并创建currentcontrolset,为装入相关硬件设备驱动程序作准备;
第五阶段:装入基本核心驱动程序;
第六阶段:释放一些已经完成使命的装入初始数据块;
第七阶段:进一步初始化注册库,以便有些依赖于基本核心驱动程序的上层驱动程序能顺利装入;
第八阶段:服务控制器装入应该由该服务控制器装入的各种驱动程序。
§2.2.2 fddi网卡驱动程序的加载过程
在windows nt启动的第五个阶段,将加载核心驱动程序。而对于ndis网卡驱动程序是在ndis接口(ndis.sys)加载后调入运行,向ndis wrapper注册、初始化、查询设置参数等。
windows nt启动时,相应的实体如nt的服务控制器根据注册库中yhfddi驱动程序的配置注册信息,初始化ndis wrapper,并装入相应的驱动程序,生成驱动程序管理块结构,申请内存以保存各种信息,向ndis wrapper注册驱动程序。初始化和注册完毕后,再由服务控制器读取注册库中相应的链接信息。
在ndis wrapper和yhfddi驱动程序初始化和注册成功后,ndis wrapper根据系统相应的注册信息,加入和yhfddi驱动程序所对应的fddi网卡,同时读入网卡的注册信息,并进行网卡注册和网卡初始化。
在以上过程成功后,wrapper将查询和设置驱动程序的各种参数,了解驱动程序对哪些操作支持,决定对上层驱动程序的支持范围。
第三节fddi网卡驱动程序的注册
driverentry函数是windows nt ddk规定的核心驱动程序的入口点,wrapper识别到入口点后,调入驱动程序,在driverentry函数内完成两个基本注册任务:
调用ndisminitializewapper函数向ndis接口报告驱动程序将以miniport类网卡驱动程序注册。ndis建立它需要记录的驱动程序状态信息,同时返回ndiswrapperhandle,驱动程序保存这个句柄,以利后来调用ndisxxxconfiguration和initialization等函数。
填写ndisxx_miniport_characteristics属性结构,主要记录ndis版本号和驱动程序支持的miniportxxx函数的入口点,然后调用ndismregisterminiport函数实现驱动程序的整体注册。
以yhfddi为例所要注册的属性结构的内容大致如下:
ndis_miniport_characteristics yhfddichar;
(ndis_miniport_characteristics这个结构将在第三章介绍)
yhfddichar.majorndisversion=yhfddi_ndis_major_version;
yhfddichar.minorndisversion=yhfddi_ndis_minor_version;
这两个属性决定驱动程序是ndis的哪个版本所支持,我们所用的是ndis3.0
yhfddichar.disableinterrupthandler=yhfddidisableinterrupt;
yhfddichar.enableinterrupthandler=yhfddienableinterrupt;
yhfddichar.isrhandle=yhfddiinterruptservice;
yhfddichar.handleinterrupthandler=yhfddihandleinterrupt;
以上四项属性是中断处理所需的上边缘服务函数的入口点(句柄)。fddi网卡驱动程序需要有smt站管理功能,而smt是以中断处理方式进行的,故这四项属性在fddi网卡驱动程序中是很重要的。
yhfddichar.initializehandler=yhfddiinitialize;
此项注册的是驱动程序的初始化函数句柄。
yhfddichar.queryinformationhandler= yhfddiqueryinformation;
yhfddichar.setinformationhandler=yhfddisetinformation;
这两项注册的是参数查询和设置函数的句柄。
yhfddichar.sendhanler= yhfddisend;
yhfddichar.transferdatahandler= yhfdditransferdata;
主要提供数据发送和接收函数句柄。
yhfddichar.resethandler=yhfddireset;
此项注册网卡软硬件重置函数句柄。
yhfddichar.halthandler= yhfddihalt;
此项注册网卡驱动程序挂起函数句柄。
yhfddichar.checkforhandler=null;
yhfddichar.reconfigurehandler=null;
这两个上边缘服务函数是fddi网卡驱动程序所不提供的,故置为null。
填好这些结构以后,调用以下函数实现驱动程序的注册:
ndismregisterminiport(
yhfddiwrapperhandle,
&yhfddichar,
sizeof(yhfddichar));
其中yhfddiwrapperhandle是在此之前初始化wrapper调用ndisminitializewrapper所得的句柄。
如果调用ndismregisterminiport不能返回ndis_status_success,必须在退出driverentry之前释放已经分配的资源(如yhfddiwrapperhandle等),故调用
ndisterminatewrapper(yhfddiwrapperhandle,null)。
这样驱动程序没能正确注册,亦不能正常运行。
第四节 网卡驱动程序对象查询与设置
如果ndis的管理实体要查询或设置一个特定的网络对象,它必须提供一个32位的oid。oid的结构如下: 图2.3.0 oid结构图
由上可以看到,oid可分为三大类:
所有ndis驱动程序都有的一般对象;
特定介质的对象;
特殊的与具体实现相关的对象(如多目地址表的长度)。
一般的和特定介质的oid被记录在windows nt ddk中,对于这些oid ddk文本指明了相关的对象能否通过miniportqueryinformation查询参数和通过miniportsetinformation设置参数。
oid也可被分为操作特性(如多目地址表长度参数)和统计参数(如广播包接收)。最后oid可分为必须的和可选的两种。
oid的前三个字节表明oid的不同类别,而最后一个字节确定这一类别内特定的信息管理对象。
针对于fddi网卡,被查询的oid的第一个字节为0x03。而ndis所查询的介质相关参数为:
0x03010104 oid_fddi_long_max_list_size
0x03010108 oid_fddi_short_max_list_size
0x03010102 oid_fddi_long_current_addr
0x03010106 oid_fddi_short_current_addr
tcp/ip传输驱动程序所要查询的fddi oid为:
0x03010102 oid_fddi_long_current_addr
0x03010103 oid_fddi_long_multicast_list
0x03010107 oid_fddi_short_multicast_list
通过以上两阶段的查询,ndis和tcp/ip驱动程序就分别了解了网卡驱动程序对其的支持,从而进行相应的捆绑,以便数据传输时正确选择网卡驱动程序。
第五节 开发环境与调试方法
开发环境:
fddi网卡驱动程序的开发环境为nt server 3.51,sdk,ddk for workstation 3.51, vc++4.1,硬件平台为586。
调试平台:
主机为nt server 3.51,windbg32
目标机为nt workstation3.51 (check 944)
调试方法:
※利用dbgprint把目标机上关键信息通过串口传到主机进行分析,以得出ndis驱动程序的调度机制和运转状况;
※利用assert产生异常断点,由主机对异常进行控制
※自定义宏,进行分级控制,以根据不同情况产生不同调试信息
在本yhfddi网卡驱动程序中,smt的移植是极其关键的一部分,主要承担了驱动程序中硬件初始化和中断延迟处理。但由于smt是相对独立的软件,这样就有一个ndis wrapper与smt间参数传递的问题。所以本章主要讨论miniport驱动程序与smt的关系和移植smt过程中初始化的要求、中断处理的要求,ndis wrapper与smt如何传递参数。
(一)miniport fddi网卡驱动程序与smt的关系。
在第一章已经谈及网卡驱动程序主要实现osi参考模型中的物理层和mac层。而对于fddi网络的物理层又可分为介质相关子层和介质无关子层。
对于我们的fddi/pci是基于x.3.19、x3.148、x3.166和x3.229而实现的。
smt在整个iso七层模型中属低两层范畴。下图是iso模型与fddi层次的对应关系,从而可知fddi miniport驱动程序在nt网络结构中的位置。
即在windows nt fddi网卡驱动程序应包含smt,实现fddi拓扑环上的站管理。
而在驱动程序内部smt主要是在miniport驱动程序中的中断延迟处理上边缘服务中实现的,也可以说是将smt嵌入中断延迟处理程序中,实现ndis接口对smt的正确调度。
yh-fddi驱动程序的实现可分为硬件无关部分和硬件相关部分。
移植smt过程中初始化的要求.
这里的初始化主要是指硬件初始化,包括寄存器的初始化和数据结构的初始化,由smt共用的硬件相关例程库中硬件初始化部分来完成. 我们在开发过程序是调用fddi_main(bdd_t*bdd)这个函数来调用smt共用的硬件相关例程库的.可见使用fddi_main(bdd_t*bdd)时,需要传递bdd这个参量,而bdd_t这个数据结构的定义如下:
它包含了各类硬件寄存器的基址,所以要对其进行正确赋值就必须首先在nt的内存中映射一块虚存与网卡内存相对应,也就实现了bdd_t结构的赋值,对fddi_main(bdd_t *bdd)的正确调用.
因此,我们在调用fddi_main前首先将网卡上寄存器内存空间映射到nt的虚存空间上,并将bdd结构正确赋值.以映射bsi_phy_base为例,具体过程如下:
pchar destination;
bdd_t *bdd;
ndis_physical_address physicaladdress;
ulong baseaddress;
ndis_status status;
baseadress =0x0d0000+bsi_phy_base;
ndissetphysicaladdresshigh(physicaladdress,0);
ndissetphysicaladdresslow(physicaladdress,baseaddress);
status=ndismmapiospace(
(pvoid *)&destination,
miniportadapterhandle,
physicaladdress,
bsi_phy_len
);
bdd->bsi_vir_base=(pchar) destination;
adapter-> bdd->bsi_vir_base= bsi_vir_base;
/*对adapter结构中的bdd结构赋值,以便在其它上边缘函数中使用这些虚存基地址*/
中断处理要求.
对于中断处理,在smt中主要调用cspintrhandandler()来实现.我们的fddi网卡驱动程序是miniport方式的,若在isr中做此处理将占用大量系统资源,使系统崩溃,所以我们采用只在isr中进行中断的排队,而在dpc中调用cspintrhandler()来完成中断处理.
在中断处理方面还有一个中断屏蔽和中断使能的问题,这两方面smt并不提供,故我们要正确处理.
具体处理方法见第三章.
ndis wrapper与smt间参数如何传递.
miniport方式的网卡驱动程序中,网卡上有中断时,系统反映给ndiswrapper,再由wrapper调度中断处理上边缘服务实现中断处理,在我们的yhfddi网卡驱动程序的中断具体处理是smt完成的所以在调用cspintrhandler时应将adapter结构传进smt以便在以后应用.
如在处理接收中断时,处理的最后应调用ndisindicatefddireceive,向ndiswrapper指示以接收到一个数据包,而ndisindicaterfddireceive的调用需要adapterminiporthandle作为参数,这就必须一级级从中断延迟处理函数(yhfddi handleinterrupt)中将adapter结构传递下来. 当然,其它方面如发送,也会有类似的问题需要考虑.
总之,对于smt的移植,需要详尽的在程序中做好接口,才能实现与
smt的数据交换.
ndis规范在网络两层间提供了一个统一界面,ndis对网络本身而言,是一个带有协议功能的标准接口,对实现者而言,它应该是一个环境,这种环境不仅带有协议功能,更重要的是带有和软、硬平台无关的核心功能支持,它不会受软、硬平台的变化严重影响,无疑,它是软件的移植和兼容的可靠保证,ndis把网络的一部分共性抽象出来,并根据具体的操作系统实现系统和平台相关的基础库以保证ndis的标准性和对开发者提供最大的功能支持,这也将加速和规范开发过程,但是,在操作系统之上提供ndis基础库获得标准同时也失去直接作用于操作系统带来的灵活性以及更强的功能支持,同时,ndis处于网络中层和低层之间,低层网络的快速发展和ndis对网络部分共性的抽象必然导致ndis对实现者的滞后,例如ddk3.51提供的ndis开发环境只支持10m以太网、fddi、令牌网(802.5)、localtalk、arcnet等,而对新出现的快速以太网及atm不提供支持,这对我们如何在ndis环境下实现诸如atm的lan emulation,ip over atm、快速以太网带来很大问题。
smt是实现fddi网卡驱动程序的关键,然而由于应用ddk开发miniport驱动程序时要遵循其结构框架,所以要想完整地按其结构移植smt,就必须分解smt适应之,即要求对smt有一个很好的理解。但smt是庞大的给开发带来了一定的困难。
【1】《device driver kit用户手册》
【2】《device driver kit核心驱动程序设计》
【3】《device driver kit网络驱动程序设计》
【4】《windows nt核心内幕》
【5】《windows nt资源》之三《性能评测》
浏览量:3
下载量:0
时间:
访问控制是几乎所有系统(包括计算机系统和非计算机系统)都需要用到的一种技术。它是按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术,如UniNAC网络准入控制系统的原理就是基于此技术之上。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。以下是读文网小编今天为大家精心准备的:浅谈基于的Windows Azure平台下的访问控制模型的设计相关论文。内容仅供参考,欢迎阅读!
随着互联网中的云计算应用越来越广泛,微软,谷歌等IT业巨头都在不断的扩建自己的云计算平台,但是伴随着云计算应用范围的不断增大,信息安全已经成为了制约与计算平台发展的重要原因之一,一些涉及到网络安全的技术逐步被人重视,Window Azure平台是微软2008年开发的一款云计算平台,其主要作用是通过Internet平台为其他运行的应用程序服务,最大可能的保证性能不降低。如何能够最大限度的利用Win⁃dows Azure平台的数据存储安全技术,从而能够保证云计算平台具有开发的安全性和灵活性是目前研究的重点。目前访问控制技术是元计算平台领域中一种非常重要的技术,它的思想是采用一定的策略,首先对主体进行验证,然后对客体的访问权限进行设置,可以很好地保证云计算环境中的访问权限的的安全性,从而保证云计算机节点的资源能够合理的被使用,从而避免来自系统内部的破坏。
访问控制是一种重要的技术,是保证云计算平台的信息机密性和完整性的重要组成部分。本文针对在Windows Azure 云计算模型的基础上,针对现有的任务-角色访问控制模型,提出一种新的访问控制模型。该模型可以在一定程度上有效地减少资源调度的耗时以及数据访问控制的安全性。
在云计算平台的环境中,由于云端客户的数量逐渐增多,这就要求Windows Azure云计算服务商提供的安全性的资源也在逐渐提高。由于云计算环境中对资源的保护和限制访问的要求比较高,云计算资源的云端用户的种类层次不一,自身的安全性等级不一,自身存在一定的风险。因此在这样的背景下,需要制定更加详细的策略来进行控制,从而来保证系统安全的正常运转。
在Windows Azure 模型中,访问控制最关键的就是如何进行授权即授权策略的制度,在进行授权策略下,能够得到授权的用户就是合法用户,无法得到授权的就是非法客户。在WindowsAzure中,需要了解访问主体能够对哪些客体在什么样的条件下进行授权访问,通常访问控制模型由主体、访问、客体三个主要部分组成。
2.1 基于角色的访问控制
基于角色的访问控制(RBAC)的研究是上个世纪提出的一种访问控制技术,它通过在用户和访问权限中加入了角色这个概念,从而将用户与访问权限进行了有效的分离,同时最大限度的保证了用户和权限之间的分离,这种分离的优点就是可以让用户与角色之间达成1∶N的角色分配,同时保证角色与访问权限之间也是1∶N的联系方式。RBAC模型的优点是在一定程度上实现了用户与访问权限的分离,在一定程度上保证了动态的访问约束,系统实用性比较强,缺点如下:(1)权限粒度约束不够细化,导致用户权限过宽;(2)权限授予过程复杂;(3)功能和数据权限始终都在一起,无法分离;(4)缺少对客体特征的描述,特别是在云计算环境中的分布式的应用非常频繁,但是每一次过程都需要通过角色来转变,无法面对Windows Azure云计算下的任务流的控制执行。
2.2 基于任务的访问控制
基于任务的访问控制模型(TBAC)是一种新的安全模型,主要是采用了任务工作流的特性,将任务概念引入到访问控制模型中,从而将访问控制中的任务进行动态的管理。通过平台中的任务来对权限进行划分,在TBAC中,主要能对不同的工作流中的不同任务进行访问控制,优点是适合云计算环境下的分布式计算。缺点是没有对客体进行管理,不支持被动访问控制,存在任务分配复杂等问题,从而降低了效率。
3.1 云计算现状
云计算技术的快速发展已经涉及到计算机的众多领域,传统的安全保护手段已经无法适应这些变化。在Windows Azaue云计算模型中,服务商提供数据的计算和存储,面对云端的众多用户,这些多用户通过Windows Azaue平台可以将自身的相关私有数据放置到服务器上进行存储和管理,在一定程度上降低了用户的成本,但同时对Windows Azaue服务商提出了一定的要求。如何保障多用户下的数据进行管理,防止涉及安全问题的发生,这是目前Windows Azaue云计算服务商面临的主要的问题。
3.2 多用户访问控制模型
本文在的基础上,将面向多用户的访问控制模型分为用户层和平台层,用户层主要是用来管理用户-角色-任务-权限之间的使用关系,平台层主要是分配权限,角色和任务之间的关系。为了更好地描述多用户的访问控制模型,本文在任务-角色模型的基础上,对模型中涉及到的一些概念进行描述:
(1)角色:云计算中担任访问能力的主体。
(2)任务:云计算中用来完成用户提出的具有一定功能的最小单位内容。
(3)权限:云计算中具有访问资格的描述
(4)权限分类:云计算中用户访问要求不同,导致受到访问的资格不同
(5)会话:云计算中的用户与角色之间建立映射的过程,实际上过程是用户与系统之间交互的过程。
(6)会话交互:云计算中用户访问云计算服务商提供服务的过程。
(7)会话的角色集合:云计算中参与会话过程中的角色映射。
(8)角色继承:云计算中为了满足不同的角色需要访问多种不同的资源的要求,在角色的属性和方法的设置中,通过角色继承来进行完成,从而可以避免重复设置。
(9)任务关系:云计算中根据任务之间的分配关系可以分为一对一,一对多,多对多的分配关系。
3.2.1用户层模型
在Windows Azaue 多用户的用户层中,为了能够更好地方便用户-角色-任务和权限之间的关系,本文采用层次化的结构模型,通过按照角色和权限从高到低来进行设置用户的级别,在设置过程中,根据Windows Azaue云计算资源平台中对于多用户分配的资源要求,在层次化结构模型中,通过对用户分配权限,粒度从小到大。
定义1:用户定义User: =( User_ID∈U_ID, User_name∈U_name, User_Role∈U_Roleset,User_Task∈U_Task)。
定义2:角色定义Role: =( role_ID∈Role_id,Role_name∈Role_N,role_roleList∈Role_L)
定义3:权限定义:Premission:=( Premission_ID∈Premission_ID, Premission_name∈Premission_n, Premission_role∈Premission_R)
定义4:任务定义Task:=< Task_ID∈User_ID∩role_ID∩Permis⁃sion_ID,Task_name∈Task_N,Task_role∈Task_R >
3.3.2平台层模型
在Windows Azaue多用户平台中,将权限和角色的进行合理的映射,在每一个角色节点中,需要进行管理和控制角色与权限的创建与分配,其中,每一个管理节点需要创建或者修改操作权限,在该平台模型中对于角色和权限的管理进行合理的配置。
定义5:管理角色定义Administrator_Role ex⁃tends 角色定义Role: =( Administrator_IDAdministrator_id,Administrator_Rolename∈Admin ⁃istrator_Role_N, Administrator _roleList∈Role_L)
定义6:管理用户权限定义Administrator_Per⁃mission extends Permission: =(Administrator_Permis ⁃sion_ID∈Permission_ID, Administrator_name∈Per⁃mission_N, permission_role∈Permission_R).
为了更好地体现出平台层模型的优点,本文在平台层设计上通过组织模型角色的构建方法,将管理角色结构分为了底层平台管理角色权限,中间层平台管理角色权限和用户层平台管理角色权限管理三个部分。底层平台管理角色权限主要是针对平台中所有的基础权限管理,中间层平台管理角色权限主要是针对平台中专有资源权限管理,用户层平台管理角色权限管理主要是针对所有用户的角色管理。
3.3 访问控制模型的实现
为了进一步描述有关访问控制模型的实现,本文以本地学校图书馆服务器作为云计算资源服务器,将处于同一个城市的其他几所学校的客户器作为云端客户,建立树型的组织模型,从而将这种组织模型想访问控制模型转换,在访问控制模型中,主要针对用户登录,权限访问控制以及权限管理三个部分进行描述,用户首先进行身份验证,然后系统为用户加载权限,用户根据权限来获得对应的功能,最后获得相应的功能权限对应的数据对象。
(1)登录验证
登录验证是为了更好的保护用户的合法信息,采用控件chenkUserForm 进行iaoshu,能确保用户输入验证的合法性。
(2)权限访问控制
Windows Azaue模型中的权限访问控制能够在一定程度上保证用户访问权限资源,本文在树型模型的基础上,设计首先向用户加载包含一级节点的初始华,然后通过层层级联加载访问叶子节点,提高了用户访问效率,用户在之前的访问登录获得了用户Userid作为参数,从而获得用户对应的角色所需要的权限。用户通过树型组织结构,点击初始权限树中叶子节点对应的功能权限。在层次加载中,判断用户点击所获得节点加载路径来确定是否能够访问到该节点。
采用了这种加载方式之后,用户可以根据自己的需要来显示相应的功能权限,不需要每次都登录展示整个权限,提高了高效访问控制。
(3)权限管理控制
在用户权限树中设定的Checkbox构造出用户权限管理树,通过点击选中活取消用户权限管理树中的节点,能够非常方便的实现角色权限的授予。
(4)系统验证和分析
为了更好的验证本文模型的具有的时效性,本文采用在酷睿i3,内存为4G的系统中运行,将本人所在学校的图书馆作为云服务端,其他同一个地区的学校的图书馆作为云端访问点,通过CloudSim进行仿真实验,本文假设在云端客户模拟500个访问图书查询要求向云服务端发送查询请求,在云服务端中采用Windows Azaue模型进行服务器的设置,将本文的模型与其他几种模型在访问数量,任务平均完成时间,网络消耗时间上进行了对比。
本文的访问控制模型在一定程度上有效的缩短了访问时间,虽然相差不大,但是由于其他三种算法没有将控制模型安全因素考虑进去,所以,本文的模型具有一定的实际意义。从图2中可以发现伴随着云端客户的访问量增多,本文的模型有效的降低任务完成时间,相比于角色-任务模型已经有了很大的改变。伴随着访问数量的不断增大,网络访问失败率已经有了明显的降低,这在一定程度上说明了本文的算法在云平台模型下的控制在优于传统的访问控制模型。
在微软推出的Windows Azaue 云计算模型中,访问控制安全已经成为了研究的重点,本文在传统的角色-任务模型上,提出了面向多用户的访问控制模型,在模型中采用了用户层和平台层两种表示,在用户层中对角色、任务、权限进行了定义,在平台层中针对用户登录,权限访问控制以及权限管理三个部分进行细分,通过仿真实验,本文的模型相比于传统的角色-任务模型具有一定优越性,但在角色继承,模型冲突等方面需要进一步的研究。
相关
浏览量:2
下载量:0
时间:
随着网络技术的发展,网络的各种应用也越来越广泛。对一些实时的关键任务网络系统,比如无人驾驶车辆、军用武器系统、军事指控系统、过程控制网络以及航空设备等,除了需要系统能够快速响应,对网络可靠性的要求也越来越高,所以系统必须具备容错能力,即当系统部分失效时,仍然能够继续运行。以下是读文网小编为大家精心准备的:论Win7旗舰版环境下双网卡计算机的应用相关论文。内容仅供参考,欢迎阅读!
【摘要】:微软公司的Windows7是当今各行各业和家庭使用最流行、最普遍的操作系统之一;双网卡可以在不添加任何其他网络设备的情况下,解决许多传统单网卡环境下无法解决的难题。随着操作系统的不同,双网卡的设置与应用也不尽相同,本文就Windows7环境下双卡的设置与应用进行了一些初步的探索。
【关键词】:双网卡 Windows 交换机 网桥 子网 无线AP
众所周知, 交换机和NAT 路由器是当今各行各业和家庭组建小型局域网的常用设备,虽然这两种设备在市场上很容易买到,且非常经济,但随着其品牌的日益增多,其性能也变得有好有差,并且对于一些网络“门外汉”来说,其配置步骤似乎也很麻烦,基于以上原因,本文从“双网卡计算机成为交换机”和“双网卡计算机成为NAT 路由器”两方面展开论述,从而做到“易、好、省”的搭建出一个小型局域网。
1.1 配置双网卡计算机成为交换机
安装两块网卡后,计算机可以作为二层交换机使用,但是必须安装相关软件,Windows7 已内置了这样的软件。打开“控制面板”窗口,单击“网络和共享中心”图标,然后点击左侧“更改适配器设置”按钮,出现“网络连接”窗口。单击一个网卡连接图标后,按住Ctrl 键再单击另一个网卡连接图标,可以同时选中两个网卡连接图标,右击其中的一个,选择“桥接”菜单项,稍候会出现“网桥“网桥”连接图标,这里的网桥就是指二层交换机,现在这台计算机已经可以作为二层交换机使用,不过只有两个接口,也可以安装更多的网卡,会成为更多接口的交换机。
右击“本地连接”连接图标,在其快捷菜单上选择“属性”菜单项,出现“本地连接属性”对话框,与未建立网桥时相比,这时没有了IP地址等很多属性。右击“网桥”连接图标,其快捷菜单与单个网卡连接的快捷菜单相同,选择“属性”菜单项,出现“连接属性”对话框。在上部的列表框中,列出了网桥中的网卡,不选中复选框,会使该网卡从网桥中退出;选中复选框,会使该网卡加入到网桥中。“连接属性”对话框的其他部分与单个网卡连接的完全相同,也可以设置IP 地址等属性。网桥的多个网卡共用IP 地址、默认网关等属性,建立网桥的计算机仍可以作为一般计算机使用,网桥的属性就代表该计算机的属性。
网桥有什么用处呢?二层交换机有什么用处,网桥就有什么用处,只不过网桥只有两个接口。下面介绍网桥的两种主要应用:
1.2 进行有线连接
假设网桥中的网卡都是有线网卡,这时的网桥与二层交换机的作用是完全一样的。如图1 所示,计算机A 安装了两块网卡,网卡1 连接到计算机B, 网卡2 连入子网1.1.1.0/24, 在A 上设置好网桥后,A与B 就都连入网络了。既然网桥相当于二层交换机, 所以B 的IP 地址,以及A 上网桥的IP 地址一定要设置在子网1.1.1.0/24 内。这种情况在家庭与办公室中经常碰到,一台计算机已经连网,另一台计算机也需要连网,可是一般用户根本不知道交换机在哪里,就是知道也需要重新布线,这时就可以使用网桥。
另一种情况是3 台计算机互联。计算机B 连接在计算机A 的网卡1 上,计算机C 连接在A 的网卡2 上,在A 上设置网桥,3 台计算机就互联在了一起。B 与C 的IP 地址,以及A 上网桥的IP 地址一定要设置为同一个子网。在没有交换机的情况下,使用网桥是一种应急的好办法。
1.3 进行无线连接
计算机也可以通过无线网卡进行连接。现在的很多计算机,如笔记本电脑,都同时内置了有线网卡与无线网卡,网桥非常容易实现,根本不需要另外安装网卡,只不过无线网卡间相连时要使用自组织(Adhoc)方式。注意:自组织无线局域网中可以有多台计算机,包含无线网卡的网桥可以成为无线AP。笔记本电脑A 安装有无线网卡与有线网卡,有线网卡连入子网1.1.1.0/24,无线网卡则与其他3 台笔记本电脑组成自组织无线局域网,只需在A 上设置好网桥,所有的笔记本电脑就都连入网络了。当然, 所有笔记本电脑的IP 地址都要设置在子网1.1.1.0/24 内。
安装两块网卡后,计算机还可以作为NAT 路由器使用,当然必须安装相关软件,Windows7 已内置了这样的软件。计算机A 安装了两块网卡,网卡1 连接到计算机B,网卡2 使用PPPOE 连入因特网,很多家庭就是这种情况。
在计算机A 的“网络连接”窗口中,建立PPPOE 连接“菏泽联通”后,右击“菏泽联通”图标,在其快捷菜单上选择“属性”菜单项,出现“菏泽联通属性”对话框,选择“共享”选项卡,如图2 所示。在“Internet连接共享” 选项区域中, 选中“允许其他网络用户通过此计算机的Internet 连接来连接”复选框,在“家庭网络连接”下拉列表框中,选择“本地连接”,因为计算机B 连接在“本地连接”网卡上。
单击“ 确定” 按钮, “ 本地连接” 网卡的IP 地址被改为了192.168.137.1/24,同时本计算机还启用了DHCP 服务器,计算机B 应该设置成自动获取IP 地址,从本计算机获取192.168.137.0/24 子网的IP 地址。
若是两块网卡不需要同时使用,就要禁用一块,只启用另一块,两块网卡的属性各自设置,互不相关。如果两块网卡同时启用,可能无法正常工作。当一台计算机安装两块网卡时,需要进行相关的设置。双网卡计算机跟传统单网卡计算机相比,虽然只是多了一块小小的网卡,但它可以做到很多单网卡计算机做不到的事情,而且,这些事情都是一些极易配置的小技巧性的问题,它可以“易、好、省”的搭建出一个小型局域网。
相关
浏览量:2
下载量:0
时间: