网络工程案例教学及综合实践.doc_第1页
网络工程案例教学及综合实践.doc_第2页
网络工程案例教学及综合实践.doc_第3页
网络工程案例教学及综合实践.doc_第4页
网络工程案例教学及综合实践.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机学院计算机科学与技术专业网络工程案例教学及综合实践报告 TCP/IP系统设计与IPC实现(2011/2012学年 第一学期)学生姓名: 高 爽学生班级: 计算机082001班学生学号: 2008 2001 0108指导教师: 赵俊忠2011年12月 23日15 / 17目录第一章 网络研究内容11.1 网络基本概念11.2 计算机通信11.3 计算机通信原理1第二章 网络通信模型22.1 收发设备22.2 信道22.3 通信设备32.3.1 有线通信32.3.2 无线通信4第三章 网络体系结构43.1 网络体系结构概述:43.2 协议分层53.3 服务类型53.4 网络协议的实现63.4.1 传输层的实现63.4.2 网络层的实现73.4.3 数据链路层的实现7第四章 计算机网络接口84.1 数据结构8第五章 程序设计105.1 源码及Demo功能105.2运行截图:11附录12第一章 网络研究内容1.1 网络基本概念随着计算机应用的深入,特别是家用计算机越来越普及,一方面希望众多用户能共享信息资源,另一方面也希望各计算机之间能互相传递信息进行通信。个人计算机的硬件和软件配置一般都比较低,其功能也有限,因此,要求大型与巨型计算机的硬件和软件资源,以及它们所管理的信息资源应该为众多的微型计算机所共享,以便充分利用这些资源。基于这些原因,促使计算机向网络化发展,将分散的计算机连接成网,组成计算机网络。1.2 计算机通信计算机通信是一种以数据通信形式出现,在计算机与计算机之间或计算机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术相融合的产物,在军队指挥自动化系统、武器控制系统、信息处理系统、决策分析系统、情报检索系统以及办公自动化系统等领域得到了广泛应用。1.3 计算机通信原理计算机通信的基本原理是将电信号转换为逻辑信号,其转换方式是将高低电平表示为二进制数中的1和0, 再通过不同的二进制序列来表示所有的信息。也就是将数据以二进制中的0和1的比特流的电的电压做为表示,产生的脉冲通过媒介(通讯设备)来传输数据,达到通信的功能,这个是osl的物理层,也就是通信的工作原理。第二章 网络通信模型2.1 收发设备计算机网络通信中的发送设备(Sending Device)和接受设备(Receiving Device )即信源和信宿。信源就是信息的发送端,是发出待传送信息的人或设备;信宿就是信息的接收端,是接受所传送信息的人或设备。信息传播过程简单地描述为:信源信道信宿。其中,“信源”是信息的发布者,即上载者;“信宿”是信息的接收者,即最终用户。在传统的信息传播过程中,对信源的资格有严格的限制,通常是广播电台、电视台等机构,采用的是有中心的结构。而在计算机网络中,对信源的资格并无特殊限制,任何一个上网者都可以成为信源,也随时可能承担着新宿的角色。如在服务器客户的网络中,网络中断用户向服务器发送请求,此时客户机为信源服务器为新宿。当服务器受到请求后,发出应答请求和用户请求的数据,此时服务器又充当信源客户机为新宿。2.2 信道信道是信号在通信系统中传输的通道,是信号从发射端传输到接收端所经过的传输媒质。广义的信道定义除了包括传输媒质,还包括传输信号的相关设备。信道分类。狭义信道的分类狭义信道,按照传输媒质来划分,可以分为有线信道、无线信道和存储信道三类。(1):有线信道优有限信道以导线为传输媒质,信号沿导线进行传输,信号的能量集中在导线附近,因此传输效率高,但是部署不够灵活。这一类信道使用的传输媒质包括用电线传输电信号的架空明线、电话线、双绞线、对称电缆和同轴电缆等等,还有传输经过调制的光脉冲信号的光导纤维。(2):无线信道无线信道主要有以辐射无线电波为传输方式的无线电信道和在水下传播声波的水声信道等。无线电信号由发射机的天线辐射到整个自由空间上进行传播。无线通信在自由空间(对于无线电信道来说是大气层和太空,对于水声信道来说是水体)上传播信号,因此能量分散、传输效率较低,并且很容易被他人截获,安全性差。但是,无线通信摆脱了对导线的依赖,因此具有有线通信所没有的高度灵活性。(3):存储信道在某种意义上,磁带、光盘、磁盘等数据存储媒质也可以被看作是一种通信信道。将数据写入存储媒质的过程即等效于发射机将信号传输到信道的过程,将数据从存储媒质读出的过程即等效于接收机从信道接收信号的过程。2.3 通信设备英文简称ICD, 全称Industrial Communication Device。用于工控环境的有线通讯设备和无线通讯设备。有线通讯设备主要介绍解决工业现场的串口通讯,专业总线型的通讯,工业以太网的通讯以及各种通讯协议之间的转换设备。无线通讯设备主要是无线AP,无线网桥,无线网卡,无线避雷器,天线等设备。2.3.1 有线通信概念:有线通信是指通信设备传输间需要经过线缆连接,即利用架空线缆、同轴线缆、光纤、音频线缆等传输介质传输信息方式。优点及缺点:有线通信设备最大优势就是抗干扰性强,稳定性高,具备一定的保密性,传输速率快,带宽能够无限大;但有线通信受环境影响较大,扩展性较弱,有衰减,施工难度大,移动性差,费用高。有线通信设备:目前常用的有线通信设备有:电脑、 电视、电话、PCM、光端机等。2.3.2 无线通信概述:无线通信是指不需要物理连接线的通信,即利用电磁波信号可以在自由空间中传播的特征进行信息交换的一种通信方式。 优点与缺点:无线通信设备最大优点就是环境,不需要受线的限制,具有一定的移动性,可以在移动状态下通过无线连接进行通信,施工难度低,成本低;但无线通信设备抗干扰较弱,传输速率较慢,带宽有限,传输距离也有限制,费用低。但是目前无线通信正在改变相应的技术让传输速率更高(802,11n的速率能到达100Mbps不低于有线通信),更稳定方便,所以无线通信设备将是发展趋势。 无线通信设备:卫星、无线电台、无线电视(公交车或地铁上)、无线局域网、移动电话(手机)、手机GPRS上网等。 第三章 网络体系结构3.1 网络体系结构概述:要想让两台计算机进行通信,必须使它们采用相同的信息交换规则。我们把在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协议(communication protocol)。为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而是采用把通信问题划分为许多个小问题,然后为每个小问题设计一个单独的协议的方法。这样做使得每个协议的设计、分析、编码和测试都比较容易。分层模型(layering model)是一种用于开发网络协议的设计方法。本质上,分层模型描述了把通信问题分为几个小问题(称为层次)的方法,每个小问题对应于一层。3.2 协议分层为了减少网络设计的复杂性,绝大多数网络采用分层设计方法。所谓分层设计方法,就是按照信息的流动过程将网络的整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。在计算机网络环境中,两台计算机中两个进程之间进行通信的过程与邮政通信的过程十分相似。用户进程对应于用户,计算机中进行通信的进程(也可以是专门的通信处理机对应于邮局,通信设施对应于运输部门。为了减少计算机网络设计的复杂性,人们往往按功能将计算机网络划分为多个不同的功能层。网络中同等层之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合,就是第N层的协议。而同一计算机的不同功能层之间的通信规则称为接口( i n t e r f a c e),在第N层和第(N+ 1)层之间的接口称为N /(N+ 1)层接口。总的来说,协议是不同机器同等层之间的通信约定,而接口是同一机器相邻层之间的通信约定。3.3 服务类型服务(s e r v i c e)这个极普通的术语在计算机网络中无疑是一个极重要的概念。在网络体系结构中,服务就是网络中各层向其相邻上层提供的一组操作,是相邻两层之间的界面。由于网络分层结构中的单向依赖关系,使得网络中相邻层之间的界面也是单向性的:下层是服务提供者,上层是服务用户。而服务的表现形式是原语( p r i m i t i v e),比如库函数或系统调用。为了更好地讨论网络服务,我们先解释几个术语。在网络中,每一层中至少有一个实体( e n t i t y)。实体既可是软件实体(比如一个进程),也可以是硬件实体(比如一块网卡)。在不同机器上同一层内的实体叫做对等实体(peerentity)。N层实体实现的服务为N+ 1层所利用,而N层则要利用N-1层所提供的服务。N层实体可能向N1层提供几类服务,如快速而昂贵的通信或慢速而便宜的通信。N1层实体是通过N层的服务访问点(Service Access Point,SAP)来使用N层所提供的服务。N层SAP就是N+ 1层可以访问N层服务的地方。3.4 网络协议的实现3.4.1 传输层的实现传输层,是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。功能:编定序号、控制数据流量、查错与错误处理,确保数据可靠、顺序、无错地从点到传输到点1、因为如果没有传输层,数据将不能被接受方验证或解释,所以,传输层常被认为是O S I 模型中最重要的一层。2、传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。3、传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割并编号。例如:以太网无法接收大于1 5 0 0 字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。该过程即被称为排序。4、在网络中,传输层发送一个A C K (应答)信号以通知发送方数据已被正确接收。如果数据有错或者数据在一给定时间段未被应答,传输层将请求发送方重新发送数据。 NOTE:工作在传输层的一种服务是TCP/IP协议套中的T C P(Transfer Control Protocol 传输控制协议),另一项传输层服务是IPX/SPX 协议集的S P X( Serial package Exchange 序列包交换)3.4.2 网络层的实现功能:定址、选择传送路径1、网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点 到另一个网络中节点 的最佳路径。2、在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。3、网络层协议还能补偿数据发送、传输以及接收的设备能力的不平衡性。为完成这一任务,网络层对数据包进行分段和重组。4、分段和重组 是指当数据从一个能处理较大数据单元的网络段传送到仅能处理较小数据单元的网络段时,网络层减小数据单元的大小的过程。重组是重构被分段的数据单元。Note 1、网络层的分段是指数据帧大小的减小,而网络分段是指一个网络分割成更小的逻辑片段或物理片段。Note 2、路由器:由于网络层处理路由,而路由器因为连接网络各段,并智能指导数据传送,所以属于网络层。Note 3、 TCP/IP协议中IP属于网络层;IPX/SPX协议中IPX也属于网络层3.4.3 数据链路层的实现功能:同步、查错、制定MAC方法1、它的主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。2、帧(Frame)是用来移动数据的结构包,它不仅包括原始(未加工)数据,或称“有效荷载”,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。 3、通常,发送方的数据链路层将等待来自接收方对数据已正确接收的应答信号。4、数据链路层控制信息流量,以允许网络接口卡正确处理数据。5、数据链路层的功能独立于网络和它的节点所采用的物理层类型。Note:有一些连接设备,如网桥或交换机,由于它们要对帧解码并使用帧信息将数据发送到正确的接收方,所以它们是工作在数据链路层的。第四章 计算机网络接口4.1 数据结构计费系统硬件典型的接口类型是RJ-45以太网接口。它遵循IEEE802.3标准,传输速率通常为10M/100/1000Mbps,可工作在全双工、半双工模式。如下图的WAN口(广域网口)和1、2、3、4标识的端口就是RJ-45端口。 图4.1 WAN口网络电话的网络接口类型是网络电话与内部局域网连接的时候所用的接口类型,不同的网络有不同的接口类型,常见的网络电话接口主要有RJ-45接口,RJ-11接口和USB接口. 一般的网络电话会提供两个RJ-11接口。1个RJ-11接口用于连接和HomePNA交换机相连接的电话线,另1个RJ-11接口与电话机连接。RJ-11插头是最常见的一种接线法,您在家中或办公室里的电话上都插着这种普通的非扭转电线。RJ-11插头在末端有六对铜线接头,由不同的颜色指示,通常只有四对铜线会被使用。四对被使用的铜线通常由黑色,白色,红色和绿色指示。黑色和白色两对铜线在正常情况下供低伏信号如电话和光电信号通过。红色和绿色两对铜线主要用于语音或数据的传输。除了在普通家用电话上找到RJ-11插头外,您也能在电脑的调解器上找到RJ-11。图4.2 RJ-11RJ-45插头在形状和外表上与RJ-11相似,但更宽一些,因为其含有八根末端铜线接头,用于提高数据的传输速度,因此是我们最常见的端口了,RJ-45端口在网络电话中主要是用于连接计算机的以太网卡。以太网中也主要采用双绞线作为传输介质,所以根据端口的通信速率不同,RJ-45端口又可分为10Base-T网RJ-45端口和100Base-TX网RJ-45端口两类。其中10Base-T网的RJ-45 端口在路由器中通常是标识为ETH,而100Base-TX 网的RJ-45端口则通常标识为10/100bTX,这主要是现在快速成以太网路由器产品多数还是采用10/100Mbps带宽自适应的。下图为RJ-45。 图4.3 RJ-45USB (Universal Serial Bus)接口在网络电话中作用类似于RJ-11或RJ-45接口,其作用一方面用于取电,另一方面用于数据的传输。目前的USB规格下,每个端口(PORT)可同时连接127个装置,并支持既插即用(PLUG-AND-PLAY)与可以在不关闭电源情况下作热插入(HOT-PLUGGING)。USB是一种传输技术规格,目前已出现2.0,其支持传输速率到480Mbps,是现在USB 1.1的480倍。而前者除了速度较快外,和USB 1.1完全兼容,所以过去采用USB接口的周边、传输线、接头规格都可以用。第五章 程序设计5.1 源码及Demo功能(1)源码介绍在本例中,在同一个wordSapce(clientProcess.dsw)中加入两个工程,分别为cilentProcess和serverProcess,一个为客户端进程,另一个为服务端进程。在服务端工作流程:1. 调用CreatFile函数来创建文件内核对像,并将句柄保存在hFile中;2. 调用CreateFileMapping函数来创建文件映射内核对像,并将句柄保存在hFileMapping中;3. 设定内存映射文件的大小及偏移量;4. MapViewOfFile将文件数据映射到进程的地址空间;5. 循环等待客户端进程发送过来的消息,一旦不消息过来,接收这个消息并对它进行处理,处理完毕后给客户端发送消息;6. 服务端进程退出前要经过以下三个过程:调用UnmapViewOfFile函数将文件数据从进程的地址空间中释放;调用CloseHandle释放文件映射内核对像和文件映射对像。客户端工作流程:1. 调用OpenFileMapping打开文件映射内核对像;2. 输入将要在服务端进行处理的数据,并等待服务端的处理结果;(二)Demo功能在客户端输入一个整数,在服务端计算这个数的平方,并将结果返回给客户端,在客户端显示。5.2运行截图:服务端:客户端:附录Client的程序:/#include clientProcess.h#include #include #include void main()HANDLE hFileMapping = OpenFileMapping(FILE_MAP_ALL_ACCESS,FALSE,ClientProcess);if (hFileMapping = NULL) CloseHandle(hFileMapping); hFileMapping = NULL; return ; / 设定大小、偏移量等参数SYSTEM_INFO sinf;GetSystemInfo(&sinf);_int64 qwFileSize = 0x4000000;_int64 qwFileOffset = 0;_int64 T = 600 * sinf.dwAllocationGranularity;DWORD dwBytesInBlock = 1000 * sinf.dwAllocationGranularity;/ 将文件数据映射到进程的地址空间PBYTE pbFile = (PBYTE)MapViewOfFile(hFileMapping,FILE_MAP_ALL_ACCESS,(DWORD)(qwFileOffset32), (DWORD)(qwFileOffset&0xFFFFFFFF), dwBytesInBlock);/ 测试程序/ 在客户端输入一个数字,在服务端计算该数的平方,并将结果返回给客户端;int dataInClientPro = 0;printf(*In ClintProcess*n);while(1)printf(Please input a num (0 for quit):tn);scanf(%d, &dataInClientPro);if(dataInClientPro = 0)return;memcpy(pbFile,&dataInClientPro,sizeof(int);memcpy(pbFile+sizeof(int),&dataInClientPro,sizeof(int);FlushViewOfFile(pbFile,NULL);Sleep(1000);memcpy(&dataInClientPro,pbFile+sizeof(int),sizeof(int);printf(Result form ServerProcess :t%dn, dataInClientPro);Server的程序:/ MapFileTestPeer.cpp : Defines the entry point for the console application./#include serverProcess.h#include #include #include void main()/ 创建文件内核对象,其句柄保存于hFileHANDLE hFile = CreateFile(Recv1.zip,GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ, NULL,CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL);/ 创建文件映射内核对象,句柄保存于hFileMappingHANDLE hFileMapping = CreateFileMapping(hFile,NULL,PAGE_READWRITE, 0, 0x4000000, ClientProcess);if (hFileMapping != NULL & GetLastError() = ERROR_ALREADY_EXISTS) CloseHandle(hFileMapping); hFileMapping = NULL; return ; / 设定大小、偏移量等参数SYSTEM_INFO sinf;GetSystemInfo(&sinf);_int64 qwFileSiz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论