通信网络论文(6篇)

来源:网友

通信网络论文篇1

关键词JAVA,网络,SOCKET,APPLET

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

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

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

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

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

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

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

2Socket机制

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

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

3Java语言

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不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

4JAVA工具

(1)JDK

1)Java编译器

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

2)Java解释器

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

3)Appletviewer

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

(2)VisualJ++

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

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

(1)Application同Applet的通信

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

1)客户端的编程流程:

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

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

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

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

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

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

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

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

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

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

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

(2)Applet之间的通信:

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

只要在程序中加入

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

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

6程序

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

importjava.io.*;

importjava.net.*;

importjava.lang.*;

importT2;

classThreadEchoHandlerextendsThread//创建线程

{

T2theT2=newT2();

Socketincoming;

intcounter;

ThreadEchoHandler(Socketi,intc)

{incoming=i;

counter=c;}

publicvoidrun()

{

try

{

DataInputStreamin=newDataInputStream(incoming.getInputStream());

DataOutputStreamout=newDataOutputStream(incoming.getOutputStream());

System.out.println("hello");

booleandone=false;

while(!done)

{Stringaa="";

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

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

System.out.println(str);

theT2.pass(str);//解码

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

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

System.out.println("stringzis:"+aa);

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

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

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

out.writeUTF(aa);

out.flush();}

}//while

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

}//try

catch(IOExceptione)

{System.out.println(e);}

}//endrun

}

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

classS

{

publicstaticvoidmain(String[]args)

{

inti=1;

try

{

ServerSockets=newServerSocket(1111);

for(;;)

{

Socketincoming=s.accept();

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

newThreadEchoHandler(incoming,i).start();

i++;

}

}

catch(Exceptione)

{System.out.println(e);}

}

}

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

importjava.io.*;

importjava.net.*;

importjava.awt.*;

importjava.applet.*;

publicclassEchoextendsApplet

{

TextAreata;

SocketechoSocket;

DataOutputStreamos;

DataInputStreamis;

StringLine;

publicvoidinit()

{

setBackground(Color.white);

ta=newTextArea(5,80);

ta.setEditable(false);

add(ta);

try

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

catch(IOExceptione)

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

}

publicvoidst(Stringstri)//发送字符串的方法

{

try

{DataOutputStreamos=newDataOutputStream(echoSocket.getOutputStream());

DataInputStreamis=newDataInputStream(echoSocket.getInputStream());

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

os.flush();

}

catch(IOExceptione)

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

}

publicStringst1()//接收字符串的方法

{

StringLine="";

try

{DataOutputStreamos=newDataOutputStream(echoSocket.getOutputStream());

DataInputStreamis=newDataInputStream(echoSocket.getInputStream());

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

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

}

catch(IOExceptione)

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

returnLine;

}

}

7程序调试心得:

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

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

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

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

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

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

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

importjava.applet.*;语句;

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

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

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

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

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

参考文献

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

通信网络论文篇2

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协议

通信网络论文篇3

【关键词】网络分层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

通信网络论文篇4

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结论

通信网络论文篇5

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

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

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

3通信网络安全现状

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

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

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

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

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

4通信网络安全分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

通信网络论文篇6

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结束语

你会喜欢下面的文章?

    汽修班毕业生自我鉴定范文(整理2篇

    - 阅0

    汽修班毕业生自我鉴定篇1时光如梭,转眼即逝,当毕业在即,回首三年学习生活,历历在目:三年来,学习上我严格要求自己,注意摸索适合自己情况的学习方法,积极思维,分析,解决问题能力强,学习.....

    关于诚信的演讲稿分钟范文(整理15

    - 阅0

    诚信的演讲稿3分钟篇1各位同学们,亲爱的老师:今天咱们来谈一谈诚信。在当今这个社会,诚信可谓是非常的重要,有人将它比作是公民的第二张身份证,在24字核心价值观中也有诚信。诚.....

    行政部月度工作总结范文(整理2篇)

    - 阅0

    行政部月度工作总结范文篇1十月份已经过去了,回顾自己这月以来的工作,可以说是有很多的地方值得去回忆。作为一名行政助理,我要做的工作有很多,不过我始终觉得说起来也挺小事情.....

    大学班长班级工作总结范文(整理6篇

    - 阅0

    大学班长班级工作总结篇1本学年我作为xx班的班长,做了很多的工作,同时配合其他的班委做了很多的工作。本学年我的工作有很多不足的地方,但也有很多做得不错的地方。现在对我这.....