网络通信论文十篇

时间:2023-04-11 11:34:28

网络通信论文

网络通信论文篇1

1.1主动声呐系统的结构主动声呐系统

由上位机PowerPC控制板、DSP处理板、ADC数据采集板、接收机板和水声换能器设备组成,结构框图如图1所示[2,3]。PowerPC控制板通过VME(VersaModuleEuropa)总线与DSP处理板连接,完成DSP芯片的复位和程序加载,查看信号检测结果以及发送控制命令的功能;DSP处理板通过低压差分信号技术接口(LVDS,LowVoltageDifferentialSignaling)读取ADC采集的数据,并对数据进行FFT、波束形成、检测等水声信号处理;ADC数据采集板将接收机输出的模拟信号转换成数字信号;接收机板对换能器输出的模拟电信号进行滤波和放大;水声换能器设备将水声环境中的声信号转换成模拟电信号。

1.2主动声呐系统的改进

上节所述的主动声呐系统凭借VxWorks高性能的实时微内核、可裁剪性以及高可靠性,能够出色地完成声呐系统的控制功能,使系统高效稳定地工作。然而,与Windows操作系统相比,VxWorks很难对系统工作时采集的原始水声数据、信号处理结果和当前工作状态进行比较直观的实时查看和分析处理。尤其在开发和调试阶段,开发人员难以对系统工作状态进行准确判断和实时控制。基于上述功能上的不足,本设计引入一台运行Windows操作系统的远程计算机。通过建立VxWorks与Windows间的TCP/IP网络连接,将系统工作时采集的水声数据、信号处理结果和工作状态经PowerPC控制板,由网络传输至远程计算机端。远程计算机利用图形用户界面和Matlab等数据处理软件将数据和状态实时、直观地展现出来。开发人员还可以随时通过网络向PowerPC控制板发送控制命令,方便查看和控制系统工作状态。主动声呐系统改进后的结构框图如图2所示。

2、VxWorks与Windows间TCP/IP网络通信协议

VxWorks的网络系统由标准网络协议部分组成,即物理层、数据链路层、IP层、TCP层、应用层[1]。Vx-Works在BSD4.4Unix的TCP/IP协议栈的基础上,仅对实时性做了修改。为增强系统的应用性和可移植性,新版的VxWorks增加了一个称为MUX层的接口层,其网络系统结构如图3所示。TCP(TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输控制协议。VxWorks支持TCP协议,它提供了标准的BSDsocket调用,通过套接字建立网络连接。通信双方的主要工作模式为客户端/服务器模式,客户端与服务器的关系是不对称的[4]。服务器(Serv-er)首先启动,利用函数socket()创建一个套接字,并将套接字与一个本地网络地址(IP地址和端口号)通过函数bind()捆绑在一起。接着令套接字处于被动监听状态listen(),随后服务器进程调用accept()进入等待客户端连接的阻塞状态。客户端(Client)同样利用一个套接字socket()向服务器发送连接申请connect(),处于阻塞接收状态下的服务器收到连接申请后,提供网络服务,建立TCP/IP连接。连接建立后,客户端和服务器就可以利用接收函数recv()、发送函数send()以字节流进行数据通信。TCP客户端/服务器工作模式流程图如图4所示。通信过程中,需根据具体需求,设计客户端和服务器间的数据通信协议,以保证数据流传输的正确性和可靠性。本设计中的Windows端和VxWorks端的数据帧结构如图5所示,其中,Windows端到VxWorks端的帧结构中,帧起始标志、DSP工作任务码、DSP号、帧结束标志均为占1个字节的unsignedchar型,帧总字节长度、DSP采集数据大小、DSP文件数据长度为占4个字节的unsignedint型,DSP文件数据块为char型指针;VxWorks端到Windows端的帧结构中,帧起始标志、采集数据标志、工作状态标志、帧结束标志同样为1字节unsignedchar型,帧总字节长度和数据块字节长度为4字节unsignedint型,数据块为char型指针。软件设计时,应根据此通信协议的帧结构定义相关结构体及变量。

3、VxWorks与Windows间TCP/IP网络通信的软件设计

VxWorks与Windows间TCP连接的软件设计是基于套接字socket编程的,每个连接包括一个客户端和一个服务器。为使用方便,本设计以远程Windows作为客户端,主动声呐系统中的VxWorks作为服务器。反之,基本过程类似,本文不再做详细介绍。4.1服务器端(VxWorks)软件设计服务器端软件在集成开发环境WindRiverWorkbench3.0中用C语言进行开发,相比VxWorks6.0之前版本所用的集成开发环境Tornado,Workbench更为方便,功能也更加完善。在主机系统(Windows)中的Workbench开发环境下,将经过编译、调试的应用程序下载到目标机(VxWorks),在目标机上运行服务器程序。服务器端的软件设计过程如下[5]。(1)设置本地地址。VxWorks提供了socket通信的socket地址结构sockaddr_in,定义结构型变量serverAddr,初始化如下:serverAddr.sin_family=AF_INET;//指定TCP/IP协议簇serverAddr.sin_len=(u_char)sockAddrSize;//serverAddr的字节长度serverAddr.sin_port=htons(SERVER_PORT_NUM);//设置端口号serverAddr.sin_addr.s_addr=htonl(INADDR_ANY);//设置IP地址(2)创建基于TCP的套接字。利用函数socket完成套接字的创建。sFd=socket(AF_INET,SOCK_STREAM,0);参数AF_INET代表使用TCP/IP协议簇,SOCK_STREAM表示全双工字节流。函数调用成功后返回一个套接字描述符sFd,代表用于当前连接的套接字,下面绑定、监听、连接时都将用到此套接字描述符。(3)绑定套接字。通过bind函数将套接字和本地地址(IP地址和端口号)绑定在一起。bind(sFd,(structsockaddr*)&serverAddr,sockAddrSize)。(4)创建客户端连接请求。服务器程序在套接字sFd指定的端口上开始监听,创建客户端连接请求队列,等待客户端的连接请求。listen(sFd,SERVER_MAX_CONNECTIONS)。(5)接受新的连接并创建任务。服务器调用accept函数进入阻塞状态,当客户端发出连接申请时,服务器接受请求并建立一个连接:newFd=accept(sFd,(structsockaddr*)&clientAddr,&sockAddrSize);成功建立连接后,返回一个新的套接字描述符newFd,以供当前连接使用。服务器程序可以用taskSpawn创建一个新任务来处理刚建立的连接,并继续在当前任务下监听新的连接。(6)接收和发送数据。成功建立连接后,利用当前连接返回的新套接字描述符newFd接收和发送数据。既可以通过TCP操作函数send、recv进行数据交换,也可以调用I/O系统的操作函数read、write来实现。recv(newFd,pDatabuf,bDataLen,0);read(newFd,pDatabuf,bDataLen);表示从新建立连接的缓存区pDataBuf读取bDataLen字节长度的数据,其中recv中的参数0为标志位。send(newFd,pDatabuf,bDataLen,0);write(newFd,pDatabuf,bDataLen);表示向新建立连接的缓存区pDataBuf写入bDataLen字节长度的数据。4个函数的返回值均为实际读/写成功的数据字节长度。(7)关闭连接。数据交换结束时,通过函数close(newFd)关闭当前连接。程序的末尾调用close(sFd)关闭服务器套接字。4.2客户端(Windows)软件设计客户端软件是基于跨平台框架Qt开发实现的[6]。Qt为开发图形用户界面应用程序提供一个完整的C++应用程序开发框架,集成了丰富的类和API(应用程序编程接口)函数,编程方便。Qt支持TCP网络连接,通过QTcpSocket和QTcpServer类可以用来实现TCP客户端和服务器。(1)创建套接字。利用QTcpSocket类创建一个套接字对象m_tcpClient实现连接。(2)建立连接。套接字对象通过调用连接主机函数,向服务器发送连接申请。m_tcpClient.connect-ToHost(HOST_IP_ADDRESS,HOST_PORT_NUM);两个参数依次为服务器的IP地址和端口号。(3)接收和发送数据。QTcpSocket继承了QIODevice类,对象m_tcpClient可以直接调用QIODevice类中的read()、write()函数,从当前连接的缓存区读写指定字节长度的数据。(4)关闭当前连接。客户端通过m_tcpClient.disconnectFromHost()断开与服务器间m_tcpClient创建的连接,其他套接字对象创建的连接不受影响。

4、水池实验结果

通过水池实验验证主动声呐系统工作时TCP/IP网络通信的正确性、稳定性和可行性。实验中,信号发生器发射脉冲调制信号,脉冲宽度2ms、重复周期20ms、中心频率25kHz。经换能器转换为声信号发射到水池中。脉冲调制信号经水声环境传播到声呐系统,经过换能器、接收机、ADC板等变为数字信号送至DSP处理,再将采样数据和计算结果经上位机通过TCP网络上传到远程计算机。远程计算机通过网络控制声呐系统并实时将采集的数据和运算结果用Matlab进行绘图显示。图6为示波器检测的接收机输出信号,脉冲持续4格,每格时间500μs,故脉冲持续时间为2ms。示波器每格约有12.5个信号周期,即每个信号周期约为40μs,故信号的中心频率为25kHz,与发射信号能够很好地匹配,说明接收机成功地接收到发射信号。图7为接收机输出信号经ADC板以35.159kHz速率采样后,经过DSP和上位机通过TCP网络上传到远程计算机,在远程计算机端绘图的结果。图7中稳态脉冲信号的采样点数为134-60=74个,与理论采样点数:35.159kHz×2ms=70.318基本相同。脉冲幅度最大值均为2V左右。对比图6图7得出,主动声呐系统通过TCP网络通信,将数据完整、准确地上传到了远程计算机。此外,通过多次实验进一步验证了网络通信的正确性、可靠性。

5、结束语

网络通信论文篇2

就目前的网络发现趋势来看,网络的综合化、集成化、智能化和高可靠性已成为必然的发展趋势。但是,目前基于电的时分复用方式技术已经到达瓶颈,但是光纤的可用带宽只利用可利用的不到1%,其潜力是很大的。单就基于光路的波分复用(WDM)来讲,目前的商业水平可达到270左右,研究实现的水平1000左右,理论可同时传播360亿路的电话。波分复用的在目前的研究水平上,理论极限大约是15000个波长。国外已有相关人员在一根光纤中传输了65536个光波,这充分说明了密集波分复用的无限可能性。我们有充分的理由相信,以后在光路方面的发展,将会使光纤通信技术更上一个台阶。

2光纤通信网络技术业务趋势

可以说IP技术改变了我们的生活,其依赖的光纤通信技术更可以实现我们更多的梦想。IP技术的核心是IP寻址,是基于TCP/IP协议,其中最主要的两个协议是IP协议和TCP协议,这两个协议保证了信息在网络中的可靠传输。未来的IP业务将承载的不只有文字,更有图像视频,构成未来网络的基础,实现一种基于光纤的智能化网络平台,以满足人们对网络的不同程度的需求。以IP技术为主流的数据业务,将会是当今世界信息化的发展方向。现在几乎已经把能否有效支持IP业务作为一项技术能否长久的标志。目前IP技术已经相当成熟,要拓展更多的IP业务,无疑需要网络开发商创造出性价比更高的低廉传输成本。光纤通信技术能很好的满足这方面的要求。因此,光纤网络技术将会是现代IP业务发展的基础和方向。

3光纤网络通信技术发展方向

从30多年前光纤的问世开始,光纤的传输速率就在不断的提高。有统计表明,在过去的10年中,光纤的传输速率提高了100倍左右。预计在未来的十年,还将再提高100倍左右。IP技术使得三网融合,包括通信网、有线电视网和计算机网络,成为可能。这就需要更高速可靠的信息传播途径,因此,必须让传递信息的介质能够支持这些业务。就目前来看,互联网的通信基本上可以分为三类:人与人,如IP电话;计算机与人,如网页服务;计算机与计算机,如邮件。这些通信对网络的要求也不尽相同。因此,建立一个全新透明的全光路网络就会是此类技术发展的必由之路,我们称之为光联网。这不但会使传统的互联网业务更加可靠便捷,而且会促进一些无法预料到的新业务产生。不难想到,基于光路的波分复用(WDM)技术,将会是未来光联网道路上的先驱。光联网将会将会实现以下几个基本功能:1)超高速的传输速率;2)灵活的网络重组;3)网络层的透明性,对下层网络传输机制透明;3)更易的扩展性,允许网络节点和数据量的不断增长;4)更快速的网络恢复速度;5)同时实现光路和应用层的联网,使其有更健壮的物理层恢复能力。鉴于光联网的巨大优势和潜力,目前一些发达国家已经投入了巨大的人力、财力和物力对其进行研究和实施。光联网将会是电联网以后又一个互联网的革命。这不光对我们国民经济发展有重要意义,而且对国家的信息安全有着重要的战略意义。我们能够预测到,在不久的将来,随着光纤通信网络技术的迅速发展,人们的通信能够朝着传输速率更高、信号更加稳定的方向发展,人们在各种复杂情况之下的通讯要求也能够不断地得以满足。

4结语

网络通信论文篇3

1.1内部原因

1.1.1计算机网络系统的稳定因素

计算机已经深入到人们日常生活的方方面面,很难有人可以不接触到计算机而进行工作和生活,因此计算机网络系统的设计的稳定性是很关键的因素,计算机网络通信实际上需要面对许多安全上的隐患,在日常生活和工作中出现的如突然停电、失火或是病毒侵袭等情况,人们尚且可以处理和解决,但是计算机本身的安全问题是由于系统设计得不合理或是不规范所引起的,这就很难进行有效地解决,从而不可避免地带来了计算机网络通信的安全问题。

1.1.2计算机硬件的设计不合理性

计算机的硬件设备是一台计算机是否优秀的重要标准,计算机在硬件设计上如果操作不当,计算机就会在运行的过程中出现安全隐患。例如驱动设计不符合规范,那么计算机在操作的过程中就很容易出现信息和数据在传输的过程中被半路截获,信息和数据的外泄所造成的经济损失难以估计。另一方面如果是显卡出现问题,那么计算机在运行过程中就很容易出现蓝屏或者白屏的现象,进而被迫停止计算机运行,不但影响了正常的工作,还容易泄露信息,给人们生活和工作造成极大地不便。

1.1.3系统安全防范功能不强

计算机网络系统在设计之时,对其自身的安全方面往往考虑得很少,这样就造成了计算机在运行时很容易被人恶意侵袭,或者在访问系统的设计上过于简单,这样计算机的使用者的个人信息(账号和密码)就很容易被盗,不仅个人隐私无法保证,也会有财产的损失。

1.2外部原因

1.2.1突然间的断电或者线路失火

人们在日常使用计算机的时候,突然间的断电或是线路短路都会使人们措手不及,常常是计算机系统内的数据和信息还没来得及保存,这方面的情况无法避免。人们在日常是计算机的时候应该养成良好的办公习惯,数据或者信息有一点存一点,这样可以有备无患,即使出现意外情况也不会产生损失。

1.2.2黑客的攻击或威胁

计算机极大地方便了人们的生活,人们的见识和知识都得到了提升,但是很多问题也随之而来。其中黑客攻击是比较危险的,它会使人们的生活和工作无法正常继续。黑客的攻击可以深入到很多细微之处,可能是一封电子邮件、木马程序或是强行攻击计算机等方式,从而侵袭到计算机,导致整个计算机瘫痪,无法正常工作,内部信息和数据的泄露,造成的损失也无法避免。

1.2.3计算机网络病毒

计算机网络病毒是令人们谈虎色变的网络攻击方式,它对攻击目标没有明确性,但却像传染病似的在计算机网络系统中蔓延开来,只要上网的电脑都会遭到侵袭,无一幸免。计算机病毒具有传播范围广,速度快的特点,整个计算机网络可能在很短的时间内就感染上病毒,比较轻的情况下会使整个计算机网络的网速便面。严重的情况下可能整个计算机网络都无法正常工作,系统的数据和信息都会丢失,从而使公司或者个人都蒙受经济损失和精神上的伤害。

2计算机网络通信的安全防护措施

2.1做好计算机系统技术的稳定性和安全防护工作

在设计计算机网络系统的过程中,要全面的分析和考虑计算机网络系统的每一个环节和容易忽略的方面,要在任何一个可能被黑客或者病毒入侵的地方做好防御和拦截工作.在计算机硬件或者软件上安装病毒拦截或病毒截获系统,在病毒还没有入侵电脑系统的时候。在电脑就把病毒截获或者消灭。还可以在计算机的网络系统中设计一个垃圾文件或者不知名文件的处理系统,使这些文件在进入网络系统之前就被消灭和分解掉。

2.2做好对计算机有关联的外部环境的影响

计算机在工作的过程中很容易遭受外在环境的不良影响,计算机网络通信系统无法正常的工作,如突然断电、线路失火、打雷闪电而造成电脑磁场破坏等等,所以,要经常检测链接电脑的线路问题,看看那些线路有问题,及时的发现或者处理掉。做好电脑防御和避雷的工作,在计算机工作的地方安装避雷针或其他强制干扰电脑磁场的防御措施,使得电脑不容易受外在自然条件的影响或侵害。

2.3做好访问加密措施

实际上无论是黑客的攻击还是病毒的侵袭有些时候都是因为人们对文件的保密和数据的加密设置的过于简单而造成的,所以很容易给黑客、计算机网络病毒或者一些不法犯罪份子提供便利条件,直接造成了信息和数据的外泄和丢失。所以,做好文件的保密工作和数据的加密措施非常有必要。密码作为计算机网络的个人资料保护的基础防线,是值得注意的问题。而很多人对密码的重要性认识还不够。有些人为了方便省事直接把密码设置为一组简单的数字,比如12345。随着人们对黑客等网络安全的认识逐渐深入,有的网站已经要求人们使用字母、数字和下划线重新组织密码,但还是有人设置密码的时候过于简单,abc123这样的密码是时而常见的密码,这样就直接造成了密码盗号的情况。因此在设置密码的时候应该尽量复杂化,还可以不断更换密码,这样不会让黑客有可趁之机———破译密码,人们在使用计算机时,应该特别注意。

3结束语

网络通信论文篇4

【关键词】网络分层WinDis32技术网络信息截获数据帧NDIS网络适配器

1.前言

随着计算机网络技术的发展,各类网络规模的扩大,远程访问的增加,虚拟专用网(VPN)的出现和Internet的普及,网络安全性已成为计算机网络领域一门重要的研究学科。

网络监控是保障网络安全性的基本措施之一。网络监控,用于监测网上流动信息,并对网络信息给予适当控制。网络监控,可用于调试网络应用程序,判断应用程序是否正确地发送或接收了数据包。网络监控,还可用于监视网络信息,杜绝不健康站点的不健康内容,维护网络环境。应用于安全防范,可监视我方信息内容、保障网络安全,截获情报、分析怀有敌意方的网站。在计算机网络上实施有效的攻击与保护,是网络监控技术在军事上的重要发展方向之一。

本文论述的网络通信实时监测的实现,是用于特殊目的的数据通信程序设计的突破口,是网络监控技术的基础部分,其实现基于网络体系结构与WinDis32技术。

2.网络体系结构

现代计算机网络设计是按高度的结构化方式进行的,国际标准化组织(ISO)为更广泛的计算机互联制定了标准化的开放系统互联(OSI)网络体系结构,如图1所示。

OSI参考模型用结构描述方法,即分层描述的方法,将整个网络的通信功能划分为七个部分(也叫七个层次),每层各自完成一定的功能。由低层至高层分别称为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。两台网络主机之间进行通信时,发送方将数据从应用层向下传递到物理层,每一层协议模块为下一层进行数据封装,数据流经网络,到达接收方,接着再由下而上通过协议栈传递,并与接收方应用程序进行通信。

在通用网络中,数据链路层由网络适配器实现,本文中网络通信监测的立足点在于数据链路层,基于电缆是固有的广播性介质,通过对网络适配器的控制,实时截获与分析经过网络适配器的所有网上流动信息。

3.WinDis32技术

WinDis32全称为Win32NDIS(NetworkDriverInterfaceSpecification)网络驱动接口规范,用于开发Windows产品,可在Windows9X和WindowsNT上直接访问NDIS媒体访问控制(MAC)驱动接口。图2显示了Windows网络驱动组件与Win32NDIS结构组件:

图2.Windows网络驱动组件与Win32NDIS结构组件

WinDis32网络组件由四部分组成:NDIS适配器、PCANDIS5NDIS协议驱动、W32N50WinDis32APIDLL、WinDis32应用程序。WinDis32应用程序调用W32N50.DLL动态链接库提供的API应用程序接口,通过NDIS协议驱动模块,实现对NDIS适配器进行的存取操作。网络驱动接口规范NDIS的主要特征是所有适配器相关驱动均由NDIS接口打包,例如,最底层NDISNIC驱动不能对网卡直接执行I/O,它通过NDIS打包服务来访问硬件;高层WindowsNDIS网络组件使用NDIS打包界面与适配器相关驱动通信。只有NDIS协议驱动可以调用NDIS打包,访问NDIS适配器。

WinDis32应用程序接口函数包括:W32N_OpenAdapter(),打开一个已被命名的NDIS适配驱动器,若操作成功,则生成一个面向适配器对象的WinDis32适配器句柄,这一句柄被随后多个在该适配器上操作的W32N_XXX函数所用;W32N_CloseAdapter(),关闭已打开的适配器句柄;W32N_PacketRead(),数据帧读操作;W32N_PacketReadEx(),数据帧异步读操作;W32N_PacketSend(),发送数据帧操作;W32N_PacketSendEx()、W32N_MakeNdisRequest()等等。

WinDis32技术使得从Win32应用层进行NDIS请求如同在一个内核模式的驱动器内部进行请求一样简单,并支持多个网络适配器同时打开,完成各自的信息发送与接收。

4.网络信息监测的实现

网络信息监测程序分为信息截获与信息分析两大部分,其中信息截获程序流程如图3所示,采用多进程与多线程技术,完成数据的实时截获。

其中网络适配器列表通过读取系统注册表生成;网络适配器详细信息包括适配器型号、网络适配器物理地址、传输最大帧、传输速率以及机内标识符,通过函数W32N_MakeNdisRequest()获得。

协议过滤部分是包括PCAUSA端口的PCANDIS5协议驱动,BPF过滤器是由UNIX环境到Windows的模拟机制,为Win32应用程序提供了一种普通而又便利的机制,可过滤指定协议,由协议驱动执行,拒绝不想要的数据帧。支持协议包括:传输控制协议TCP、互连网协议IP、地址解析协议ARP、反向地址解析协议RARP、互连网控制报文协议ICMP、互连网组管理协议IGMP、NovellSPX/IPX协议IPX、用户数据报协议UDP、NetBEUI协议、AppleTalk协议。

信息分析部分利用已获知的媒体访问控制协议,提取出数据帧中的有效域值,如源主机物理地址、目的主机物理地址、帧长度等。并同时为每一被截获的数据包打上时标,注上序列号,为下一步数据重组提供可靠依据。

接收数据帧显示与信息统计结果范例如下:

包序列号:0000000032时间:0005860470msec长度:54/54

Ethernet目的:00.40.05.39.A2.B0源:00.00.B4.86.74.FA类型:0x0800

000000:00400539A2B00000:B48674FA08004500.@.9......t...E.

000010:0028260340002006:A3256464647A6464.(&.@...%dddzdd

000020:64650406008B0040:BF14006C24B95010de.....@...l$.P.

000030:223812EA0000:"8..............

包序列号:0000000033时间:0005860764msec长度:109/109

Ethernet目的:00.40.05.39.A2.B0源:00.00.B4.86.74.FA类型:0x0800

000000:00400539A2B00000:B48674FA08004500.@.9......t...E.

000010:005F270340002006:A1EE6464647A6464._''''.@....dddzdd

000020:64650406008B0040:BF14006C24B95018de.....@...l$.P.

000030:2238DEC600000000:0033FF534D421A00"8.......3.SMB..

000040:0000000000800000:0000000000000000................

000050:00000308252D0308:014C080108008010....%-...L......

000060:0000100000000000:0000000000................

包序列号:0000000034时间:0005860766msec长度:1514/1514

Ethernet目的:00.00.B4.86.74.FA源:00.40.05.39.A2.B0类型0x0800

000000:0000B48674FA0040:0539A2B008004500....t..@.9....E.

000010:05DC640B40008006:FF68646464656464..d.@....hdddedd

000020:647A008B0406006C:24B90040BF4B5010dz.....l$..@.KP.

000030:20B786DA00000000:10007E8B77DAD2D0.........~.w...

000040:D727599A8F18D377:15D56C860F2C623E

...

停止数据帧接收

应用统计:

已接收数据帧数目:34

已发送数据帧数目:0

5.进一步研究与发展

本文所研究的网络信息监测属于计算机网络系统安全对策研究的一部分,属于网络信息监测的基础性研究。以此研究成果为基础,可进行进一步的软件开发,从而实现网络通信状况实时监测、情报获取、网上各站点地址分析、站点类型分析,为计算机网络的安全维护提供监测手段,因此,具有特别的意义。

参考文献

1.PCAUSAWinDis32V5.0文档1998.3

2.刘锦德等计算机网络大全电子工业出版社1997.7

3.KrisJamsa等INTERNET编程电子工业出版社1996.5

4.DavidJ.KruglinskiVisualC++技术内幕清华大学出版社1996.5

5.廖湖声面向对象的Windows程序设计基础人民邮电出版社1996.2

6.张国峰C++语言及其程序设计教程电子工业出版社1992.12

7.汤子瀛等计算机操作系统西安电子科技大学出版社1998.4

8.刘彦明等实用网络编程技术西安电子科技大学出版社1998.4

网络通信论文篇5

(一)WLAN的安全保障

虽然目前广泛使用的跳频扩频技术可以让人难于截取,但也只是对普通人难而已,随着通信技术的飞速发展,相信很快就会普及起来。

IEEE802.11标准制定了如下3种方法来为WLAN的数据通信提供安全保障:

1.使用802.11的服务群标识符SSID。但是,在一个中等规模的WLAN上,即使每年只进行两次基本群标识符的人工修改,也足以证明这是一个低效的不可靠的安全措施。

2.使用设备的MAC地址来提供安全防范,显然这也是一个低水平的防护手段。

3.安全机制相比前两种效果要好得多,即WEP(WiredEquivalentPrivacy)。它是采用RC4算法来加密传输的网络分组,通过WEP协议来保护进入无线网的身份验证过程。但从有线网连接到无线网是通过使用某些网络设备进行连接(即网络适配器验证,而不是利用网络资源进行加密的),还有其他的一些不可靠问题,人们在重要点的加密场合,都不使用WEP安全协议。

(二)VPN与IPSec的作用

VPN首先是用于在Internet上扩展一个公司的网络当然公司的部门或子公司在地理上位于不同的地域,甚至在不同的国家。VPN是一个加密了的隧道,在隧道中它对IP中的所有数据进行封装。在VPN中最常用的两种隧道协议是,点对点隧道协议PPTP和第二层隧道化协议LTP,它们分别是由微软和Cisco公司开发的。还有一种现在也在VPN中广泛使用的有隧道功能的协议即IPSec,它还是一个IETF建议IP层安全标准。IPSec首先是作为IPv4的附加系统实现的,而IPv6则将该协议功能作为强制配置了。

(三)IPSec协议及其实施

IPSec协议包括如下:验证头AH(Authentication),封装安全载荷ESP(EncapsulationSecurityPayload),Internet密钥交换IKE(InternetKeyExchange),Internet安全关联和密钥管理协议ISAKMP(InternetSecurityAssociationandKeyManagementProtocol)及转码。IPSec体系定义了主机和网关应该提供的各科能力,讨论了协议的语义,以及牵涉到IPSec协议同TCP/IP协议套件剩余部分如何进行沟通的问题。封装安全载荷和验证头文档定义了协议、载荷头的格式以及它们提供的服务,还定义了包的处理规则。转码方式定义了如何对数据进行转换,以保证其安全。这些内容包括:算法、密钥大小、转码程序和算法专用信息。IKE可以为IPSec协议生成密钥。还有一个安全策略的问题,它决定了两个实体间是否能够通信,采取哪一种转码方式等。

IPSec的工作模式有如下2种:

1.通道模式:这种模式特点是数据包的最终目的地不是安全终点。路由器为自己转发的数据包提供安全服务时,也要选用通道模式。在通道模式中,IPSec模块在一个正常的普通IP数据包内封装了IPSec头,并增加了一个外部IP头。

2.传送模式:在传送模式中,AH和ESP保护的是传送头,在这种模式中,AH和ESP会拦截从传送层到网络层的数据包,并根据具体情况提供保护。例如:A、B是两个已配置好的主机,它们之间流通的数据包均应予以加密。在这种情况采用的是封装安全载荷(ESP)的传送模式。若只是为了对传送层数据包进行验证,则应采用“验证头(AH)”传送模式。IPSec可以在终端主机、网关/路由器或两者之间进行实施和配置。

(四)一个实现无线通信加密的方法

在给出下面加密方案之前,首先确定加密的位置:综前所述,选择在TCP/IP协议的IP层进行加密(当然也含了解密功能,下同)处理,可以达到既便利又满足尽可能与上下游平台无关性。

为了叙述方便,笔者定义一个抽象实体:加密模块,当它是一台PC或工控机时,它就是具备基本网络协议解析与转换功能的安全(加密)网关;当它是一个DSP或FPGA芯片时,它就是一个具备网络协议功能的加密芯片;当它是一个与操作系统内核集成的软件模块时,它就是一个加密模块。至此,就形成如下加密方案的雏形:

1.在无线网络的桥路器或是无线Hub与有线LAN间置一加密模块,这时可用一台功能强劲的PC或是工控机(方便户外携带使用),最好是双CPU的,具备强大的数学运算能力,实现网络层到链路层之间的功能和IP数据包的加解密功能。

2.BlackBox:对FPGA(FieldProgrammableGateArray)进行集群,初定为由3块FPGA芯片构成,1块加密,1块解密,1块进行协议处理。之所以要求集群,是基于这样一个事实:由独立的一块100-1000MIPS的FPGA芯片完成协议处理和加解密这样超强度的运算处理,缺乏可行性。

3.在购买第三方厂商的无线HUB及桥路器时,与厂商进行技术合作,要求他们在设备上提供FPGA的接口,逻辑上FPGA只完成IP包数据的加解密功能,不涉及协议处理(由厂商的软硬件平成)。但这涉及知识产权归属的问题,对厂商来说,由他们来实现这一点是非常容易的。

二、小结

网络协议是数据传输安全的基础,加密技术是数据传输完全的核心技术,通讯传输机制是数据传输安全的实现方式,网络管理是数据传输安全的保障,网络数据的安全传输是在多方面机制的共同作用下实现的。因此,研究网络安全机制也应从网络协议、网络管理、网络传输、数据加密及安全认证机制等多方面进行探讨,网络的安全性应当在网络运行机制中的各个环节中得到保障。

参考文献:

[1]赵冬梅、徐宁、马建峰,无线网络安全的风险评估[J].网络安全技术与应用,2006.(03).

[2]张东黎,无线网络安全与认证[J].网络安全技术与应用,2005.(04).

[3]黄晶,确保无线网络安全实现文件安全共享[J].微电脑世界,2002.(23).

[4]张昕楠,消除无线网络安全风险[J].软件世界,2006,(01).

网络通信论文篇6

TCN由绞式列车总线WTB和多功能车辆总线MVB组成,如图1所示。WTB用于联接各个车辆,用于列车级的通信控制;MVB用于有互操作性和互换性要求的互连设备之间的串行数据通信。WTB与MVB之间通过网关来实现数据的传递。其中,MVB能提供最佳的响应速度,适合用作车辆总线。对于固定编组的列车,MVB也可以用作列车总线。此外,MVB属于总线仲裁型网络,采用主帧/从帧应答方式,可以实现设备和介质冗余,完全满足列车对于运行控制和安全性的要求。根据实际应用的需要,MVB网络的通信数据类型分为过程数据、消息数据和监督数据。其中,过程数据用于反映列车的状态、速度、加速度、司机指令等;消息数据是偶发数据,不频繁发送且长度不定,如诊断、旅客信息等;监督数据是总线上主设备对于从设备的状态校验、转移、列车初运行等所使用的数据[1]。由于过程数据是列车运行控制中最基本和最重要的通信数据,因此本文只针对过程数据的收发进行研究。

2MVB网络接口单元

为了实现MVB设备之间的互联,各个与MVB相连的设备都必须具有统一的硬件接口和软件接口。硬件接口主要由各个设备中的MVB网络接口单元(网卡)实现,网卡用于实现物理层信号的转换,执行数据链路层的通信规程,其基本任务有:⑴将主机或其他网络设备发送的数据送入网络;⑵从网络中接收其他网络设备发送的数据送入网络;⑶从网络中接收其他设备发来的数据并送给主机。软件接口在于实现MVB数据链路层的服务功能,一方面为高层提供服务及服务访问接口;另一方面屏蔽底层协议,提供透明的、可靠的链路通路,方便用户使用[3]。2.1硬件接口MVB网络通信性能的好坏在很大程度上取决于MVB网络接口单元的品质。本次通信研究采用的是RVS系列MVB网卡。该网卡除了支持MVB三种通信数据的传递外,还支持总线管理器(BA),并具备用户可编程功能,通信速率高达1.5Mb/s,支持4096个设备状态扫描纪录,并具有介质冗余能力,是专为MVB-1类设备使用的接口卡。MVB-1型接口单元的硬件结构框图如图2所示。物理层通过译码器将MVB上的信号转换为数字电平,解码器将来自于MVB的信号移至PC/104并行总线上,检查数据的有效性并将其传送至双端口通信存储器(TrafficMemory),同时上位机可通过PC/104总线对双端口通信存储器进行读写。图2中,PC/104并行总线接口为网络接口单元和主机之间的数据通信提供了并行通道,由于RVS系列MVB网卡采用的是标准PC/104接口,用户可以将多块网卡层叠使用,在实际应用中较为方便。板上的控制逻辑(ControlLogic)采用可编程逻辑器件PLD(ProgrammableLogicDevice),为了适应不同的总线接口需求,用户可以通过逻辑设计方便地动态改变硬件设置。2.2软件接口软件接口的核心功能是屏蔽MVB网卡的底层协议,并为上层应用提供接口。MVB网卡的驱动是实现通信必不可少的核心部分,它描述了MVB网卡通信的底层协议,并对硬件进行了配置,为上层应用的操作提供接口。MVB网卡的驱动主要包括MVB初始化、配置设备地址、配置过程数据端口、获取过程数据等。用户在使用MVB网卡设计上层应用时,无需对MVB的通信协议有太过深入的了解,只需调用MVB底层的接口函数,即可实现基于MVB网卡的数据传输操作。在实现数据传输的过程中,采用了UART仿真方式,即以连续方式发送和接收数据。在网络接口单元与主机通信之前,首先必须对UART仿真寄存器进行配置,包括接收数据寄存器RBR(ReceiverBufferRegister)、发送器保持寄存器THR(TransmitterHoldingRegister)、通信线状态寄存器LSR(LineStatusRegister)。主机和接口单元之间需要通过传输特定的字符命令来实现对接口单元的软件配置,分别为‘C’、‘S’、‘H’、‘I’、‘P’、‘G’或是用其相对应的十六进制数43H、53H、48H、49H、50H、47H来表示,只有这样,才能识别所要执行的操作[3]。⑴‘C’命令用于将与接口单元有关的控制信息写入网络接口单元;⑵‘S’命令用于读取接口单元的状态信息,一般用于调试时的自测;⑶‘H’命令用于写入与过程数据端口相关的控制信息,包括逻辑地址、端口长度及端口源宿性质;⑷‘I’命令用于读取与过程数据相关的状态信息,与‘S’类似,一般只用于自测试;⑸‘P’命令用于将待发送的数据写入网络接口单元;⑹‘G’命令用于读取接收到的数据。具体的配置流程如图3所示。在通信过程中,首先需要对MVB接口执行初始化操作,包括以下3个步骤:⑴通过清除UART仿真之前的内容来确保UART进入到正常的工作状态;⑵停止MVB通信,以保证不再发送错误信息;⑶关闭MVB数据端口,使其保持为失效状态。接着,对MVB的过程数据端口及MVB设备物理地址及输入线路(分为A线和B线)进行配置。配置完成之后,通过对过程数据端口执行写入或读取操作来实现数据的通信。

3Linux与DOS系统下的MVB网络互连

DOS系统具有良好的人机界面和丰富的系统资源,在传统的MVB通信中应用十分广泛。但是,由于DOS是一个单任务弱实时的操作系统,且可靠性不高,越来越难以满足MVB网络的愈加严苛的通信要求。Linux系统在具备DOS系统优势的同时,弥补了DOS系统的不足,能够充分满足实际的需要。因此,在Linux系统环境下建立MVB通信对于实际的应用有一定的借鉴意义。考虑到多数的MVB通信仍建立在DOS系统环境下,因此,在实现Linux与Linux通信的同时,还要实现Linux与DOS的通信互连,这首先要求能够将DOS环境下设计的通信程序移植到Linux系统中去。

3.1程序移植移植过程中最主要的问题在于,DOS系统下的部分内置函数及头文件,在Linux系统下并不适用,需要对其进行适当地修改,甚至重新编写。其中,DOS系统下的输入输出函数inp()和outp(),需要更改为inb()和outb()。与此同时,Linux使用端口访问设备之前必须设置端口权限的系统调用,可选用iopl()或ioperm()进行设置。除此之外,由于Linux系统下没有conio.h,因此需要自行编写getch()函数和kbhit()函数,用于获取键盘敲击的字符和判断键盘是否有按下,以识别通信命令和控制通信的启停。部分代码如下:intkbhit(void){structtimevaltv;structtermiosold_termios,new_termios;interror;intcount=0;tcgetattr(0,&old_termios);new_termios=old_termios;/*rawmode*/new_termios.c_lflag&=~ICANON;/*disableechoingthecharasitistyped*/new_termios.c_lflag&=~ECHO;/*minimumcharstowaitfor*/new_termios.c_cc[VMIN]=1;/*minimumwaittime,1*0.10s*/new_termios.c_cc[VTIME]=1;error=tcsetattr(0,TCSANOW,&new_termios);tv.tv_sec=0;tv.tv_usec=100;/*insertaminimaldelay*/select(1,NULL,NULL,NULL,&tv);error+=ioctl(0,FIONREAD,&count);error+=tcsetattr(0,TCSANOW,&old_termios);return(error==0?count:-1);}需要注意的是,在移植的过程中,要特别注意指针的使用。若不对指针赋予初值,将会引起SegmentationFault,另外一些对于指针的误操作也很有可能引发这个错误,给调试过程中的错误排查带来很多麻烦。除了以上提到的问题外,还有许多兼容性问题需要解决,在此不再一一赘述。想要更快更精确地找到移植中存在的问题,可采用Linux提供的GDB调试工具。通过设置断点、打印变量等手段可以更快地找到程序的问题所在,并作出相应的调整。最后,通过GCC编译的方式,将驱动程序与应用程序进行联合编译,就能获得Linux下的可执行文件。通过运行这一可执行文件,通信程序就能在Linux系统环境下实现数据的收发功能。

3.2系统测试在软硬件配置完成并移植成功之后,接下来将对系统进行测试。系统测试的目的在于实现Linux与DOS系统下的MVB网络互连。测试的内容主要分为两个部分:一是以Linux下MVB节点为主节点,接收DOS下MVB发送的数据;二是以DOS下MVB节点为主节点接收Linux下MVB发送的数据。在实验室条件下,搭建了点对点MVB网络,通过两个节点数据收况来验证不同环境下MVB通信的可行性。实验结果表明:DOS系统与Linux系统下的MVB网络均能实现收发数据的功能,且误码率低,成功地实现了网络互连。

4结论

网络通信论文篇7

关键词 JAVA,网络,SOCKET,APPLET

网络上的系统结构多为客户/服务器模式,服务器端负责数据和图像等的存储、维护、管理以及传递,客户端则负责人机界面的操作、送出需求及显示收回的数据。

下面介绍一下如何使用JAVA来进行网络编程:

1) 由于客户端通过IE同服务器建立联系,所以客户端使用Applet,服务器端使用Application;

2) 服务器应设置成多线程,应答多个客户的请求;

3) 两端通信使用SOCKET机制。

1 Java中输入/输出流概念:

过滤流DataInputStream 和DataOutputStream 除了分别作为FilterInputStream 和FilterOutputStream的子类外,还分别实现了接口DataInput 和DataOutput。接口DataInput 中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数,如readBoolean() readInt()、readLine()、readFully()等。接口DataOutput中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组,如writeChar()、writeDouble() DataInputStream可以从所连接的输入流中读取与机器无关的基本类型数据,用以实现一种独立于具体平台的输入方式;DataInputStream 可以向所连接的输出流写入基本类型的数据。

2 Socket 机制

Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。 Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。

Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。使用有联接方式时,通信链路提供了可靠的,全双工的字节流服务。在该方式下,通信双方必须创建一个联接过程并建立一条通讯链路,以后的网络通信操作完全在这一对进程之间进行,通信完毕关闭此联接过程。使用无联接方式时其系统开销比无联接方式小,但通信链路提供了不可靠的数据报服务,不能保证信源所传输的数据一定能够到达信宿。在该方式下,通信双方不必创建一个联接过程和建立一条通讯链路,网络通信操作在不同的主机和进程之间转发进行。

3 Java语言

Java语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。

(1) 简单性

Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。 Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减少了出错的可能。

(2) 面向对象

Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。

Java是一种完全面向对象的程序设计语言,它除了数组、布尔和字符三个基本数据类型外的其它类都是对象,它不再支持全局变量。在Java中,如果不创建新类就无法创建程序,Java程序在运行时必须先创建一个类的实例,然后才能提交运行。

Java同样支持继承特性,Java的类可以从其它类中继承行为,但Java只支持类的单重继承,即每个类只能从一个类中继承。

Java支持界面,界面允许程序员定义方法但又不立即实现,一个类可以实现多个界面,利用界面可以得到多重继承的许多优点而又没有多重继承的问题。

(3) 多线程

多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。

Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保证了较高的执行效率。

(4) 分布性

Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。

(5) 体系结构中立

Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。Java为了做到结构中立,除生成机器无关的字节码外,还制定了完全统一的语言文本,如Java的基本数据类型不会随目标机的变化而变化,一个整型总是32位,一个长整型总是64位。

为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。

java.lang: 一般的语言包。其中包括用于字符串处理、多线程、异常处理和数字函数等的类,该包是实现Java程序运行平台的基本包

java.util: 实用工具包。其中包括哈希表、堆栈、时间和日期等

java.io: 基于流模型的输入/输出包。该包用统一的流模型实现了各种格式的输入/输出,包括文件系统、网络和设备的输入/输出等

java.net: 网络包。该包支持TCP/IP协议,其中提供了socket、URL和WWW的编程接口

java.awt: 抽象窗口工具集。其中实现了可以跨平台的图形用户界面组件,包括窗口、菜单、滚动条和对话框等

java.applet: 支持applet程序设计的基本包

(6) 安全性

用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

4 JAVA工具

(1) JDK

1) Java编译器

Java编译器将Java源代码文件编译成可执行的Java字节码。Java源代码文件的扩展名为 .java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。

2) Java解释器

Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。

3) Appletviewer

它是Java Applet的简单测试工具,可使用它来测试Java Applet程序,而不需要WWW浏览器的支持。

(2) Visual J++

Visual J++ 集成了可视化界面设计、交互式调试、代码编辑、联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能,同时具有能充分利用Active X和COM新技术的优势。利用Visual J++可创建交互性很强的Internet应用程序,是难得的Java 开发系统。

5 客户机/服务器通信的实现:

(1) Application 同 Applet 的通信

两端通过Socket机制进行连接:

1) 客户端的编程流程:

? 打开Socket,新建一个套接字;

? 为套接字建立一个输入和输出流;

? 根据服务器协议从套接字读入或向套接字写入;

? 清除套接字和输入/输出流;

2)服务器端的编程流程:

? 打开Server Socket,创建一个服务器型套接字和一个普通套接字,服务器型套接字在指定端口为客户端请求的Socket 服务;

? 使用ServerSocket类的accept()方法使服务器型套接字处于监听状态并把监听结果返回给普通套接字;

? 为该普通套接字创建输入和输出流;

? 从输入和输出流中读入或写入字节流,进行相应的处理,并将结果返回给客户端;

? 在客户端和服务器工作结束后关闭所有的对象,如服务器型的套接字,普通套接字,输入和输出流。

正是由于Java系统具有基于Socket的灵活通信机制,因而其应用程序能自由地打开和访问网络上的对象,就象在本地文件系统中一样。

(2) Applet之间的通信:

Applet之间的通信使用Applet Context类的getApplet()方法。

只要在程序中加入

Applet oneapplet=getAppletContext().getApplet(“first”);便可使用name为first的Applet中的方法了。

在该课题中大量使用了该种通信方法,因为专门同服务器端通信的 Applet中包含接收信息方法和发送信息方法,所有客户端的Applet都要使用负责通信的Applet中的方法,所以客户端的Applet同负责通信的Applet必须进行通信。

6 程序

//服务器端程序S.java 负责与客户端通信

import java.io.*;

import java.net.*;

import java.lang.*;

import T2;

class ThreadEchoHandler extends Thread //创建线程

{

T2 theT2=new T2();

Socket incoming;

int counter;

ThreadEchoHandler(Socket i,int c)

{ incoming=i;

counter=c; }

public void run()

{

try

{

DataInputStream in=new DataInputStream(incoming.getInputStream());

DataOutputStream out=new DataOutputStream(incoming.getOutputStream());

System.out.println ("hello");

boolean done=false;

while(!done)

{ String aa="";

String str=in.readUTF(); //从客户端得到字符串

//在此加入各自的服务程序

System.out.println (str);

theT2.pass(str); //解码

theT2.tongji(); //修改监控库中的信息

aa=theT2.guan(); //操纵数据库

System.out.println ("string z is:"+aa);

if(aa.compareTo("null")!=0 )

//若是查询数据库,返回查询后的结果

{ //若不是查询数据库,不向客户端输出信息

out.writeUTF(aa);

out.flush(); }

}//while

incoming.close(); //线程关闭

}//try

catch(IOException e)

{System.out.println(e);}

}//end run

}

//----------------------------------------

class S

{

public static void main(String[] args)

{

int i=1;

try

{

ServerSocket s=new ServerSocket(1111);

for(;;)

{

Socket incoming=s.accept();

System.out.println("connect: "+i);

new ThreadEchoHandler(incoming,i).start();

i++;

}

}

catch(Exception e)

{ System.out.println(e); }

}

}

//客户端通信小应用程序 Echo.java

import java.io.*;

import java.net.*;

import java.awt.*;

import java.applet.*;

public class Echo extends Applet

{

TextArea ta;

Socket echoSocket;

DataOutputStream os;

DataInputStream is;

String Line;

public void init()

{

setBackground(Color.white);

ta=new TextArea(5,80);

ta.setEditable(false);

add(ta);

try

{echoSocket=new Socket("10.102.4.41",1111);} //与服务器建立连接

catch(IOException e)

{System.out.println("error");}

}

public void st(String stri) //发送字符串的方法

{

try

{ DataOutputStream os=new DataOutputStream(echoSocket.getOutputStream());

DataInputStream is=new DataInputStream(echoSocket.getInputStream());

os.writeUTF(""+ stri ); //向服务器输送string

os.flush();

}

catch(IOException e)

{System.out.println(" error:"+e); }

}

public String st1() //接收字符串的方法

{

String Line="";

try

{ DataOutputStream os=new DataOutputStream(echoSocket.getOutputStream());

DataInputStream is=new DataInputStream(echoSocket.getInputStream());

Line=is.readUTF(); //从服务器读来的信息

ta.appendText(""+Line); //在文本域中输出信息

}

catch(IOException e)

{System.out.println(" error:"+e); }

return Line;

}

}

7 程序调试心得:

1) 在建立Socket连接时,两端的端口号必须设为一致,否则建立不了连接。服务器端必须有主机IP地址或主机名参数。

2) 连接建立好之后应确定输入和输出流。起初程序中用的是DataInputStream和PrintStream,结果只能传输英文,传输中文时产生乱码,将PrintStream改为DataOutputStream,使用readUTF()和writeUTF()方法后,中文传输问题得到解决。

3) 如果一个使用某端口的程序没有关闭,另一个程序就不能使用这个端口。

4) 开始进行通信的程序均为 Application,因不符合客户机/服务器机制,应将客户端的Application改为Applet。其转化的主要步骤如下:

? 创建一个包含APPLET标签的HTML文件;

? 去掉应用程序中的main()方法;

? 类名应继承Applet类,而不是Frame类,并在程序开头加入

import java.applet.*;语句;

? 用init()方法代替Application程序中的构造方法,当浏览器创建Applet类对象的时候,它自动执行init()方法;

? 如Application中缺省使用了BorderLayout布局管理器,应在Applet的init()方法中重新设定;

? 如果Application中有setTitle()方法,必须将其去掉,如Application中使用了菜单,在Applet 中用按钮来替换。

5) 懂得了在一程序中如何引用自定义的类中的方法和变量,在程序开头加入import 类名;在程序中加入 类名 实例=new 类名(); 然后使用

实例.方法(),实例.变量即可。

参考文献

[1] 廖雷等,Java程序设计教程,中国电力出版社,2003

网络通信论文篇8

1.1网络通信结构不合理网络通信自身结构的不合理是造成当前我国网络通信信息安全隐患的首要原因。互联网通信技术是以网间网技术为主要依托的,用户需要通过自身固定的IP协议或TCP协议在网上注册账号,从而在获得网络的远程授权后开展网络通信。由于网络结构是树状型,用户在使用网络通信功能时可能被黑客攻击从而通过树状连接网络窃取用户的通信信息。

1.2网络通信软件存在安全隐患由于客户在使用网络通信软件时需要通过下载补丁等方式让软件能够符合计算机终端操作系统的要求,而这些被广泛应用并下载的软件程序可能由于补丁程序等的引入而成为公开化的信息,这种公开化的软件信息一旦被不法分子利用则会给人们的网络通信带来严重影响,这种影响甚至会波及整个计算机网络系统,造成整个网络的通信安全隐患。

1.3人为的网络系统攻击在利益的驱使下,部分不法分子企图通过不合法的网络系统攻击方式对网络通信进行人为的攻击从而获取大量的网络资源。这些“黑客”的攻击不仅出现在商业管理终端等能够获取大量经济利益的领域,甚至还可能出现在个人的计算机中获取个体用户的信息,给用户的信息安全造成重大隐患。应该客观认识的是,我国网络通信在人们生活水平不断提升及通信方式变革的背景下发展速度一日千里,但是作为保障的信息安全维护工作却与网络通信的发展现状存在较大差距。再加上网络通信管理部门对于网络通信信息安全认识不足、网络通信管理制度不健全等问题也加剧了网络通信信息安全隐患,甚至给整个互联网通信系统带来安全隐患,给不法分子以利用的机会。正是基于当前我国网络通信中信息安全的严峻现状及在这一过程中所出现问题的原因,笔者认为,不断加强网络通信技术革新与网络通信制度建设,充分保障网络通信信息安全是时展的必然要求。

2保障网络通信信息安全的途径

2.1充分保障用户IP地址由于黑客对用户网络通信的侵入与攻击大都是以获取用户IP地址为目的的,因此,充分保障用户的IP地址安全是保护用户网络通信安全的重要途径。用户在使用互联网时也要特别注意对自身IP地址的保护,通过对网络交换机的严格控制,切断用户IP地址通过交换机信息树状网络结构传递被透露的路径;通过对路由器进行有效的隔离控制,经常关注路由器中的访问地址,对非法访问进行有效切断。

2.2完善信息传递与储存的秘密性信息传递与信息储存的两个过程是当前给网络通信信息安全造成隐患的两个主要途径,在网络信息的存储与传递过程中,黑客可能会对信息进行监听、盗用、恶意篡改、拦截等活动以达到其不可告人目的的需求。这就要求用户在使用网络通信技术时要对网络信息的传递与储存环节尽量进行加密处理,保证密码的多元化与复杂性能够有效甚至从根本上解决信息在传递与储存环节被黑客攻击利用的威胁。当前在网络通信过程中用户可以选择自身合适的加密方式对自身的信息进行加密处理,而网络维护工作者也要根据实际情况加强对信息的加密设置。

2.3完善用户身份验证对用户的身份进行有效的验证是保障网络通信信息安全的另一条重要途径。在进行网络通信之前对用户身份进行严格验证,确保是本人操作从而对用户的私人信息进行充分有效的保护。当前,用户的身份验证主要是通过用户名与密码的“一对一”配对实现的,只有二者配对成功才能获得通信权限,这种传统的验证方法能够满意一般的通信安全需求,但是在网络通信技术发展速度不断加快的背景下,传统的身份验证方法需要新的变化,诸如借助安全令牌、指纹检测、视网膜检测等具有较高安全性的方法进一步提升网络通信信息安全水平。此外,在保障网络通信信息安全的过程中还可以通过完善防火墙设置,增强对数据源及访问地址恶意更改的监测与控制,从源头上屏蔽来自外部网络对用户个人信息的窃取以及对计算机的攻击。加强对杀毒软件的学习与使用,定期对电脑进行安全监测,从而确保用户自身的信息安全。

3结语

网络通信论文篇9

2通信网络安全的定义及其重要性

可以从不同角度对网络安全作出不同的解释。一般意义上,网络安全是指信息安全和控制安全两部分。国际标准化组织把信息安全定义为“信息的完整性、可用性、保密性和可靠性”;控制安全则指身份认证、不可否认性、授权和访问控制。

当今社会,通信网络的普及和演进让人们改变了信息沟通的方式,通信网络作为信息传递的一种主要载体,在推进信息化的过程中与多种社会经济生活有着十分紧密的关联。这种关联一方面带来了巨大的社会价值和经济价值,另一方面也意味着巨大的潜在危险--一旦通信网络出现安全事故,就有可能使成千上万人之间的沟通出现障碍,带来社会价值和经济价值的无法预料的损失。

3通信网络安全现状

互联网与生俱有的开放性、交互性和分散性特征使人类所憧憬的信息共享、开放、灵活和快速等需求得到满足。网络环境为信息共享、信息交流、信息服务创造了理想空间,网络技术的迅速发展和广泛应用,为人类社会的进步提供了巨大推动力。然而,正是由于互联网的上述特性,产生了许多安全问题。

计算机系统及网络固有的开放性、易损性等特点使其受攻击不可避免。

计算机病毒的层出不穷及其大范围的恶意传播,对当今日愈发展的社会网络通信安全产生威胁。

现在企业单位各部门信息传输的的物理媒介,大部分是依靠普通通信线路来完成的,虽然也有一定的防护措施和技术,但还是容易被窃取。

通信系统大量使用的是商用软件,由于商用软件的源代码,源程序完全或部分公开化,使得这些软件存在安全问题。

4通信网络安全分析

针对计算机系统及网络固有的开放性等特点,加强网络管理人员的安全观念和技术水平,将固有条件下存在的安全隐患降到最低。安全意识不强,操作技术不熟练,违反安全保密规定和操作规程,如果明密界限不清,密件明发,长期重复使用一种密钥,将导致密码被破译,如果下发口令及密码后没有及时收回,致使在口令和密码到期后仍能通过其进入网络系统,将造成系统管理的混乱和漏洞。为防止以上所列情况的发生,在网络管理和使用中,要大力加强管理人员的安全保密意识。

软硬件设施存在安全隐患。为了方便管理,部分软硬件系统在设计时留有远程终端的登录控制通道,同时在软件设计时不可避免的也存在着许多不完善的或是未发现的漏洞(bug),加上商用软件源程序完全或部分公开化,使得在使用通信网络的过程中,如果没有必要的安全等级鉴别和防护措施,攻击者可以利用上述软硬件的漏洞直接侵入网络系统,破坏或窃取通信信息。

传输信道上的安全隐患。如果传输信道没有相应的电磁屏蔽措施,那么在信息传输过程中将会向外产生电磁辐射,从而使得某些不法分子可以利用专门设备接收窃取机密信息。

另外,在通信网建设和管理上,目前还普遍存在着计划性差。审批不严格,标准不统一,建设质量低,维护管理差,网络效率不高,人为因素干扰等问题。因此,网络安全性应引起我们的高度重视。

5通信网络安全维护措施及技术

当前通信网络功能越来越强大,在日常生活中占据了越来越重要的地位,我们必须采用有效的措施,把网络风险降到最低限度。于是,保护通信网络中的硬件、软件及其数据不受偶然或恶意原因而遭到破坏、更改、泄露,保障系统连续可靠地运行,网络服务不中断,就成为通信网络安全的主要内容。

为了实现对非法入侵的监测、防伪、审查和追踪,从通信线路的建立到进行信息传输我们可以运用到以下防卫措施:“身份鉴别”可以通过用户口令和密码等鉴别方式达到网络系统权限分级,权限受限用户在连接过程中就会被终止或是部分访问地址被屏蔽,从而达到网络分级机制的效果;“网络授权”通过向终端发放访问许可证书防止非授权用户访问网络和网络资源;“数据保护”利用数据加密后的数据包发送与访问的指向性,即便被截获也会由于在不同协议层中加入了不同的加密机制,将密码变得几乎不可破解;“收发确认”用发送确认信息的方式表示对发送数据和收方接收数据的承认,以避免不承认发送过的数据和不承认接受过数据等而引起的争执;“保证数据的完整性”,一般是通过数据检查核对的方式达成的,数据检查核对方式通常有两种,一种是边发送接收边核对检查,一种是接收完后进行核对检查;“业务流分析保护”阻止垃圾信息大量出现造成的拥塞,同时也使得恶意的网络终端无法从网络业务流的分析中获得有关用户的信息。

为了实现实现上述的种种安全措施,必须有技术做保证,采用多种安全技术,构筑防御系统,主要有:

防火墙技术。在网络的对外接口采用防火墙技术,在网络层进行访问控制。通过鉴别,限制,更改跨越防火墙的数据流,来实现对网络的安全保护,最大限度地阻止网络中的黑客来访问自己的网络,防止他们随意更改、移动甚至删除网络上的重要信息。防火墙是一种行之有效且应用广泛的网络安全机制,防止Internet上的不安全因素蔓延到局域网内部,所以,防火墙是网络安全的重要一环。

入侵检测技术。防火墙保护内部网络不受外部网络的攻击,但它对内部网络的一些非法活动的监控不够完善,IDS(入侵检测系统)是防火墙的合理补充,它积极主动地提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵,提高了信息安全性。

网络加密技术。加密技术的作用就是防止公用或私有化信息在网络上被拦截和窃取,是网络安全的核心。采用网络加密技术,对公网中传输的IP包进行加密和封装实现数据传输的保密性、完整性,它可解决网络在公网上数据传输的安全性问题也可解决远程用户访问内网的安全问题。

身份认证技术。提供基于身份的认证,在各种认证机制中可选择使用。通过身份认证技术可以保障信息的机密性、完整性、不可否认性及可控性等功能特性。

虚拟专用网(VPN)技术。通过一个公用网(一般是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。它通过安全的数据通道将远程用户、公司分支机构、公司业务伙伴等跟公司的内网连接起来,构成一个扩展的公司企业网。在该网中的主机将不会觉察到公共网络的存在,仿佛所有的机器都处于一个网络之中。

漏洞扫描技术。面对网络的复杂性和不断变化的情况,仅依靠网络管理员的技术和经验寻找安全漏洞、做出风险评估,显然是不够的,我们必须通过网络安全扫描工具,利用优化系统配置和打补丁等各种方式最大可能地弥补最新的安全漏洞和消除安全隐患。在要求安全程度不高的情况下,可以利用各种黑客工具,对网络模拟攻击从而暴露出网络的漏洞。

网络通信论文篇10

1.1利用通信控制器实现变电站内网络通信

变电站综合自动化系统中网络通信结构对整个自动化系统的安全、快速、可靠性运行有着重要作用。网络通信不仅能够有效提升变电站的运行效率,而且也体现了一个变电站的自动化发展水平。利用通信控制器实现变电站内网络通信在变电站综合自动化系统中根据其逻辑结构可将其分为:过程层、间隔层、通信控制层和站控层四个层次;其中,通信控制层和站控层采用的是高度网络通信;过程层和间隔层之间的通信采用的是现场总线通信。基于该种通信方式在变电站应用过程中通信实时性强,并且建立通信系统成本较低,所以长期以来都深受变电站青睐,直至今天,仍旧有一些低压变电站和220KV以上的高压变电站在使用。当然,该种通信网络结构的通信方式缺点也是存在的。主要体现在:间隔层设备数量及种类多,通信控制器难以承载过多设备的控制任务,使得通信效率下降,相应地通信故障问题也较多。通信控制器出现故障会造成整个变电站的信息难以控制,导致整个变电站综合自动化系统功能性失稳,可靠性大打折扣。即使一些试图采用双通信控制器解决该问题,但收效甚微,难以从根本上解决此类问题。

1.2利用间隔层设备直接上网实现变电站内网络通信

利用间隔层直接上网实现变电站内网络通信是当前变电站综合自动化系统发展趋势。该种通信方式中变电站自动化系统从逻辑结构划分可分为:过程层、间隔层和站控层三个层次。由于该种通信方式没有通信控制层,所以也减少了通信过程中的通信冗余问题,相应地通信效率较高,通信故障率下降。在变电站内,对于没有网络接口的间隔层设备,如保护装置、智能电度表等,可采用现场总线的方式进行连接;然后通过嵌入式以太网接口的通信管理单元将其作为一个间隔层网络节点同以太网连接。该种通信结构通信故障率低,通信实时性强,在高压变电站中应用最为广泛。现阶段,随着直接上网装置的技术更新,间隔层设备直接上网将成为变电站内网络通信发展的主要方向。

2.变电站内网络通信传输协议选择

变电站内网络通信传输协议可供选择的主要有两种:即TCP传输协议和UDP传输协议;该两种传输协议都是OSI传输层协议,都是基于IP协议所开发。该两种传输协议是当前变电站或其他领域应用最为广泛的以太网传输协议。

2.1TCP协议

TCP协议主要为应用程序提供连接定向,保证网络可靠性性通信。在通信过程中,通信发起方需要同通信接受方建立通信连接。TCP从应用层接受数据,并按照特定格式将数据打包为数据包,同时将其中一个带序列号的报头加入数据包之后提交给IP,IP将数据包发送到主机。在IP发送数据包过程中,发送方的TCP会备份数据包,如果数据包在发送时接收方未接受成功,数据包将会重新被发送;不过需要提出的是,数据包在重发的过程中会加重发送主机和网络运行负担。通常而言,在计算机操作系统中TCP默认的重发次数为五次,默认等待ck起始时间为ls。TCP通信只支持单播模式,并且信息目标地址为一个,网络上除了目的地址外的其他节点都无法接收源节点所发送信息。虽然TCP网络通信支持变电站内数据可靠性传送,但是变电站内的网络通信中的绝大部分数据则不需要可靠性传送。比如全遥信、全遥测等,都是通过变化遥信和遥测实时刷新数据;如果变电站内的网络通信全部采用可靠性传送的方式将难以达到变电站数据实时性传输的要求。所以,对于变电站内的数据传输问题,应根据站内网络通信的实际运行情况,结合网络应用层不同选择一般性传送或可靠性传送。这样一来,不仅能够保证变电站数据传输的可靠性,也保证了数据传输的实时性。

2.2UDP协议