基于JavaSNMP协议报文Socket通讯原理及其实现.docVIP

基于JavaSNMP协议报文Socket通讯原理及其实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JavaSNMP协议报文Socket通讯原理及其实现

基于JavaSNMP协议报文Socket通讯原理及其实现   摘要:自从八十年代末期简单网络管理协议面世以来,网络管理技术在短短的十几年里得到了突飞猛进的发展,网络管理技术正逐步成为网络构建和维护中必不可少的重要因素。本文主要介绍了Socket通讯原理及其通讯方式[3],并对SNMP协议通信原理进行了论述,最后实现了一种基于Java的SNMP协议的接收和发送报文的Socket通讯。   关键词:SNMP;Socket;同步;异步   中图分类号:TP393.03 文献标识码:A文章编号:1009-3044(2007)03-10722-02      1 引言      自从八十年代末期SNMP(Simple Network Management Protocol)简单网络管理协议面世以来,网络管理技术在短短的十几年里得到了突飞猛进的发展,随着管理功能的增强和管理对象的扩大,网络管理技术正逐步成为网络构建和维护中必不可少的重要因素。   Socket接口是TCP/IP的API。也就是说Socket接口规定了许多函数和例程,程序员可以用它们来开发TCP/IP应用程序。今天Socket接口是TCP/IP网络最为通用的接口之一。Java是一种面向对象的、多线程的、交互式的与平台无关的编程语言,有着强大的网络通讯功能,在基于SNMP协议网络管理技术中发挥着重要的作用。它功能强大,表达能力强。且支持SOCKET编程,JAVA利用其面向对象的功能封装了Socket实现中的许多细节,给基于SNMP协议的网络管理通讯提供了很大的方便和透明性。   本文将讲述Socket,以及利用Java中的Socket进行SNMP协议报文通讯的过程。      2 Socket类型及其原理      Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,可以通过这个端口与任何一个具有Socket接口的计算机通信,利用它可以较为方便的编写网络上数据的传递。应用程序在网络上传输,接收的信息都通过这个Socket接口来实现。在应用开发中就像使用文件句柄一样,可以对 Socket句柄进行读、写操作。Socket又名套接字,套接字分为以下三种类型。   字节流套接字(SocketStream) ,提供了一个双向的、面向连接的、可靠的、无差错的字节流通信 ,无重复的发送且按发送顺序接收 .内设流量控制 ,避免数据流超限 ;不保持信息边界 .实现这种特性的通信协议在收到差错时将重传信息 ,若在连接已经切断后再发数据则返回错误信息 ,FTP协议即采用流式套接字。   数据报套接字(Datagram Socket)有时也叫“无连接套接字”,TCP/IP协议族中的UDP协议使用此类接口,它是无连接的服务,它以独立的信包进行网络传输,信包最大长度为32KB,传输不保证顺序性、可靠性和无重复性,它通常用于单个报文传输或可靠性不重要的场合。数据报套接口的一个重要特点是它保留了记录边界。对于这一特点。数据报套接口采用了与现在许多包交换网络(例如以太网)非常类似的模型。一个数据报套接字是一个用于数据包收发服务的发送或者接收点。每一个在数据报套接字发送或者接收的数据包都独立的寻址和路由。从一台机器发送到另一台机器上的多个数据包会独立进行路由,并且不会按发送次序到达。   原始数据报套接字(Raw Socket)提供对网络下层通讯协议(如IP协议)的直接访问,如IP、ICMP直接访问。它一般不是提供给普通用户的,主要用于开发新的协议或用于提取协议较隐蔽的功能。   在Java中,包提供了专门的Socket类来处理用户的请求和响应。利用J中的Socket类,可以实现两台计算机之间的灵活的通讯。   在本文的SNMP协议报文的通讯过程中我们使用Socket的数据报套接字(Datagram Socket)进行通讯。      3 基于Java的SNMP协议报文的Socket通讯      SNMP报文通常采用无连接的UDP报文来传输[2],当然也可以采用其它传输层协议进行传输,RFC1960中定义了几种非UDP传输协议,SNMP v2可以在其上运行,它们包括:   OSI无连接模式网络服务(CLNS)   OSI面向连接的网络服务(CONS)   Novell Internetwork Packet Exchange(IPX)   Appletalk   在实际应用中,除UDP外最有可能用来传输SNMP报文的还有面向连接的TCP协议。为了使系统能够运行于多种传输层协议之上,我们为报文的发送和接收提供了统一的抽象接口,对于不同的传输层协议,只需实现该接口,就可以将该连接实现类的实例作为参数传递给报文发送/接收器,而

您可能关注的文档

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档