一种获知UDP服务不可达的方法、装置及网络设备制造方法及图纸

技术编号:8132560 阅读:432 留言:0更新日期:2012-12-27 05:42
本发明专利技术公开了一种获知UDP服务不可达的方法、装置及网络设备,包括:应用程序对应的用户进程向远端设备发起UDP会话后,UDP模块向ICMP模块发送携带UDP会话的标识信息的监控UDP服务不可达请求消息;ICMP模块接收到监控UDP服务不可达请求消息后,向UDP模块返回监控UDP服务不可达响应消息,监控接收到的ICMP报文;UDP模块接收监控UDP服务不可达响应消息;ICMP模块监控到远端设备发送的携带标识信息的UDP服务不可达报文,则向UDP模块发送携带标识信息的UDP服务不可达通知消息;UDP模块接收到UDP服务不可达通知消息后,通知用户进程UDP服务不可达。该方案节约了不必要的等待时间充分利用资源。

【技术实现步骤摘要】

本专利技术涉及网络
,尤指一种获知UDP服务不可达的方法、装置及网络设备
技术介绍
传输控制协议(TransmissionControl Protocol, TCP) / 互联网协议(InternetProtocol, IP)系统,即通常所说的4层协议系统的结构如图I所示,包括链路层、网络层、传输层和应用层。·链路层实现的是设备驱动程序及对应的网络接口卡;网络层实现的是处理网络中的分组活动,包括IP、互联网控制报文协议(Internet Control Message Protocol, ICMP)、互联网组管理协议(Internet Group Management Protocol, IGMP);传输层处理的是端到端的服务,包括TCP和用户数据报文协议(User Datagram Protocol, UDP);应用层处理的各应用程序的实现细节,具体包括文件传输协议(File Transfer Protocol, FTP)、简单文件传输协议(Trivial File Transfer Protocol,TFTP)、远程登录(Telnet)协议、简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)等。每一层只为相邻的上层提供服务器,且只调用相邻下层提供的接口。当链路层接收到的IP报文到达网络层时,按IP报文的类型进行分流,不同类型的协议报文走不同的协议路径一层一层往上传输;同理,当需要传输IP报文时,IP报文将经过不同的协议路径一层一层往下传输,最终到网络层相聚,经过链路层统一传出,IP报文的走向如图2所示。UDP和TCP是两种著名的传输层协议,虽然TCP使用了不可靠的IP服务,但TCP自身做了可靠性保障,而UDP是不可靠的协议,UDP的可靠性完全由应用程序来保障。ICMP是IP的附属协议,主要用于通告错误信息,虽然ICMP主要被IP使用,但也可以直接被应用程序使用,如Ping和Traceroute等,但UDP和TCP不处理ICMP报文。当发送端中应用程序对应的用户进程通过UDP模块向远端设备发起UDP会话时,一般使用套接字(socket)的方式进行,首先在UDP模块创建对应的套接字,通过该套接字发送UDP服务请求报文,并监听该套接字的相关事件,套接字主要包括目的端口号、目的IP地址、源端口号、源IP地址及用于收发数据的缓存空间,缓存空间分配完成后便可以向远端设备请求UDP服务了,当请求的UDP服务完成后便关闭套接字并释放该套接字的缓存空间。如果远端设备没有打开用户进程请求的UDP服务,即没有打开提供UDP服务的端口,远端设备会返回一个UDP服务(端口)不可达报文,该UDP服务不可达报文包含UDP服务请求报文从IP头开始的部分内容。UDP服务请求报文及UDP服务不可达报文的格式如下图3所示。ICMP与UDP是两个完全分离的协议实体,不同类型报文走不同的协议。当网络层的IP从链路层收到的是m)P报文则送往上层(传输层)的UDP模块处理,当收到的是ICMP报文则送往同层的ICMP模块处理。ICMP模块处理ICMP报文,UDP模块处理UDP报文,两者相互独立且不交换信息。一般的,用户进程向远端设备发起UDP会话时,在发出UDP服务请求后,便挂起等待远端设备对UDP服务请求作出的响应,如果远端设备没有开启请求的UDP服务,便会返回UDP服务不可达报文,该UDP服务不可达报文为ICMP报文,由于UDP模块无法接收ICMP报文,则用户进程只能持续挂起直到等待超过设定时间才能退出,在这段设定时间内发送端无法执行任何操作。其实,当远端设备没有开启请求的UDP服务时,远端设备已经返回了UDP服务不可达报文,只是由于发送端的UDP模块无法接收该报文,用户进程只能等待超过设定时间才能结束该UDP会话,而且在这段设定时间内发送端无法执行任何操作,这就造成了发送端不必要的时间浪费和资源浪费。
技术实现思路
本专利技术实施例提供一种获知UDP服务不可达的方法、装置及网络设备,用以解决·现有技术中存在由于发送端的UDP模块无法接收到UDP服务不可达报文,而造成的发送端不必要的时间浪费和资源浪费的问题。一种获知UDP服务不可达的方法,包括应用程序对应的用户进程向远端设备发起用户数据报文协议UDP会话后,UDP模块向互联网控制报文协议ICMP模块发送携带所述UDP会话的标识信息的监控UDP服务不可达请求消息,其中,所述监控UDP服务不可达请求消息是所述UDP模块接收到所述用户进程发送的UDP服务请求消息后发送的;所述ICMP模块接收到所述监控UDP服务不可达请求消息后,向所述UDP模块返回监控UDP服务不可达响应消息,监控接收到的ICMP报文;所述UDP模块接收所述监控UDP服务不可达响应消息;所述ICMP模块监控到所述远端设备发送的携带所述标识信息的UDP服务不可达报文后,向所述UDP模块发送携带所述标识信息的UDP服务不可达通知消息;所述UDP模块接收到所述UDP服务不可达通知消息后,通知所述用户进程请求的UDP服务不可达。一种获知UDP服务不可达的装置,包括用户数据报文协议UDP模块和互联网控制报文协议ICMP模块,其中所述UDP模块,用于应用程序对应的用户进程向远端设备发起UDP会话后,向所述ICMP模块发送携带所述UDP会话的标识信息的监控UDP服务不可达请求消息,其中,所述监控UDP服务不可达请求消息是所述UDP模块接收到所述用户进程发送的UDP服务请求消息后发送的;接收所述ICMP模块发送的监控UDP服务不可达响应消息;以及接收到所述ICMP模块发送的UDP服务不可达通知消息后,通知所述用户进程请求的UDP服务不可达;所述ICMP模块,用于接收到所述监控UDP服务不可达请求消息后,向所述UDP模块返回监控UDP服务不可达响应消息,监控接收到的ICMP报文;以及监控到所述远端设备发送的携带所述标识信息的UDP服务不可达报文后,则向所述UDP模块发送携带所述标识信息的UDP服务不可达通知消息。一种网络设备,包括上述获知UDP服务不可达的装置。本专利技术有益效果如下本专利技术实施例提供的获知UDP服务不可达的方法、装置及网络设备,通过应用程序对应的用户进程向远端设备发起用户数据报文协议UDP会话后,UDP模块向互联网控制报文协议ICMP模块发送携带所述UDP会话的标识信息的监控UDP服务不可达请求消息,其中,所述监控UDP服务不可达请求消息是所述UDP模块接收到所述用户进程发送的UDP服务请求消息后发送的;所述ICMP模块接收到所述监控UDP服务不可达请求消息后,向所述UDP模块返回监控UDP服务不可达响应消息,监控接收到的ICMP报文;所述UDP模块接收所述监控UDP服务不可达响应消息;所述ICMP模块监控到所述远端设备发送的携带所述标识信息的UDP服务不可达报文后,向所述UDP模块发送携带所述标识信息的UDP服务不可达通知消息;所述UDP模块接收到所述UDP服务不可达通知消息后,通知所述用户进程请求的m)P服务不可达。该方案中的UDP模块请求ICMP模块监控远端设备返回的UDP服务不可达报文,当ICMP模块接收到后,就可以通知UDP模块UDP服务不可达了,进而UDP模块可以通知用户本文档来自技高网
...

【技术保护点】
一种获知UDP服务不可达的方法,其特征在于,包括:应用程序对应的用户进程向远端设备发起用户数据报文协议UDP会话后,UDP模块向互联网控制报文协议ICMP模块发送携带所述UDP会话的标识信息的监控UDP服务不可达请求消息,其中,所述监控UDP服务不可达请求消息是所述UDP模块接收到所述用户进程发送的UDP服务请求消息后发送的;所述ICMP模块接收到所述监控UDP服务不可达请求消息后,向所述UDP模块返回监控UDP服务不可达响应消息,监控接收到的ICMP报文;所述UDP模块接收所述监控UDP服务不可达响应消息;所述ICMP模块监控到所述远端设备发送的携带所述标识信息的UDP服务不可达报文后,向所述UDP模块发送携带所述标识信息的UDP服务不可达通知消息;所述UDP模块接收到所述UDP服务不可达通知消息后,通知所述用户进程请求的UDP服务不可达。

【技术特征摘要】
1.一种获知UDP服务不可达的方法,其特征在于,包括 应用程序对应的用户进程向远端设备发起用户数据报文协议UDP会话后,UDP模块向互联网控制报文协议ICMP模块发送携带所述UDP会话的标识信息的监控UDP服务不可达请求消息,其中,所述监控UDP服务不可达请求消息是所述UDP模块接收到所述用户进程发送的UDP服务请求消息后发送的; 所述ICMP模块接收到所述监控UDP服务不可达请求消息后,向所述UDP模块返回监控UDP服务不可达响应消息,监控接收到的ICMP报文; 所述UDP模块接收所述监控UDP服务不可达响应消息; 所述ICMP模块监控到所述远端设备发送的携带所述标识信息的UDP服务不可达报文后,向所述UDP模块发送携带所述标识信息的UDP服务不可达通知消息; 所述UDP模块接收到所述UDP服务不可达通知消息后,通知所述用户进程请求的UDP服务不可达。2.如权利要求I所述的方法,其特征在于,所述ICMP模块接收到所述监控UDP服务不可达请求消息之后,还包括 将所述标识信息添加到监控链表或监控队列中,其中,所述监控链表或监控队列记录的是需要监控的UDP会话。3.如权利要求2所述的方法,其特征在于,监控接收到的ICMP报文,具体包括 将接收到的ICMP报文的标识信息与所述监控链表或监控队列中的标识信息进行匹配。4.如权利要求2所述的方法,其特征在于,还包括 所述UDP会话结束后,删除所述监控链表或监控队列中的所述UDP会话的标识信息。5.如权利要求1-4任一所述的方法,其特征在于,所述UDP会话的标识信息包括源端口、目的端口、源互联网协议IP地址和目的IP地址。6.一...

【专利技术属性】
技术研发人员:龙黎江
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1