CN103929438B - 基于网页浏览器通信的防火墙穿越方法、设备和系统 - Google Patents

基于网页浏览器通信的防火墙穿越方法、设备和系统 Download PDF

Info

Publication number
CN103929438B
CN103929438B CN201410188886.7A CN201410188886A CN103929438B CN 103929438 B CN103929438 B CN 103929438B CN 201410188886 A CN201410188886 A CN 201410188886A CN 103929438 B CN103929438 B CN 103929438B
Authority
CN
China
Prior art keywords
port
source terminal
server
identification information
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410188886.7A
Other languages
English (en)
Other versions
CN103929438A (zh
Inventor
田新雪
马书惠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201410188886.7A priority Critical patent/CN103929438B/zh
Publication of CN103929438A publication Critical patent/CN103929438A/zh
Application granted granted Critical
Publication of CN103929438B publication Critical patent/CN103929438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于网页浏览器通信的防火墙穿越方法、设备和系统,源终端向WebRTC服务器发送包括端口受限标识的信令消息,根据WebRTC服务器所反馈的信令响应消息中的websocket服务器的地址信息和第一端口的标识信息,将第一端口的标识信息和与通信交互对应的媒体流发送到对应的websocket服务器的第二端口上,其中,该第二端口属于与源终端对应的开放端口,websocket服务器根据存储在WebRTC服务器中、与第一端口的标识信息对应的地址映射关系将媒体流通过与第一端口的标识信息对应的端口转发给目标终端,从而实现了企业网内基于网页浏览器通信的防火墙穿越,在保证企业内网通信安全的同时,提高了通信业务的灵活性,以及与现有通信业务的兼容性和耦合度。

Description

基于网页浏览器通信的防火墙穿越方法、设备和系统
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于网页浏览器通信的防火墙穿越方法、设备和系统。
背景技术
随着互联网的发展和HTML5的发布和部署,网页浏览器能够实现网页实时通信(Web Real-Time Communication,WebRTC),WebRTC是一个支持网页浏览器进行实时语音对话或视频对话的技术,实现了基于网页的视频会议,标准是网页超文本应用技术协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications(RTC))能力,该技术在企业网中广泛使用。
但是,在企业网中,为了保证信息安全,通常会使用防火墙限制员工电脑的某些端口,比如只允许80端口的使用。因此,当员工使用自身电脑即源终端上基于网页浏览器的实时通讯功能与企业网之外的目标终端进行通信时,如果源终端与目标终端通过网页实时通信WebRTC服务器协商的动态通信端口受到防火墙的使用限制,则使源终端与目标终端之间无法直接进行语音或视频通信。
发明内容
针对现有技术的上述缺陷,本发明实施例提供一种基于网页浏览器通信的防火墙穿越方法、设备和系统。
本发明一方面提供一种基于网页浏览器通信的防火墙穿越方法,包括:
源终端向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息;
所述源终端接收所述WebRTC服务器根据所述端口受限标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;
所述源终端将所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上,其中,所述第二端口属于与所述源终端对应的开放端口,以使所述websocket服务器根据存储在所述WebRTC服务器中、与所述源终端地址信息和第一端口的标识信息对应的地址映射关系将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本发明另一方面提供一种基于网页浏览器通信的防火墙穿越方法,包括:
websocket服务器接收网页实时通信WebRTC服务器发送的端口查询请求,并向所述WebRTC服务器发送自身的地址信息和所述websocket服务器上的第一端口的标识信息,以使所述WebRTC服务器将所述地址信息和所述第一端口的标识信息反馈给发起用于与目标终端进行通信交互的信令消息的源终端;
所述websocket服务器通过第二端口接收所述源终端发送的所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流,其中,所述第二端口属于与所述源终端对应的开放端口;
所述websocket服务器根据存储在所述WebRTC服务器中的地址映射关系获取与所述源终端地址信息和第一端口的标识信息对应的目标终端地址信息,并根据所述目标终端地址信息将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本发明又一方面提供一种源终端,包括:
发送模块,用于向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息;
第一接收模块,用于接收所述WebRTC服务器根据所述端口受限标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;
第一处理模块,用于将所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上,其中,所述第二端口属于与所述源终端对应的开放端口,以使所述websocket服务器根据存储在所述WebRTC服务器中、与所述源终端地址信息和第一端口的标识信息对应的地址映射关系将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本发明再一方面提供一种websocket服务器,包括:
第二处理模块,用于接收网页实时通信WebRTC服务器发送的端口查询请求,并向所述WebRTC服务器发送自身的地址信息和所述websocket服务器上的第一端口的标识信息,以使所述WebRTC服务器将所述地址信息和所述第一端口的标识信息反馈给发起用于与目标终端进行通信交互的信令消息的源终端;
第二接收模块,用于通过第二端口接收所述源终端发送的所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流,其中,所述第二端口属于与所述源终端对应的开放端口;
通信模块,用于根据存储在所述WebRTC服务器中的地址映射关系获取与所述源终端地址信息和第一端口的标识信息对应的目标终端地址信息,并根据所述目标终端地址信息将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本发明又一方面提供一种基于网页浏览器通信的防火墙穿越系统,包括:网页实时通信服务器、目标终端、上述的源终端和websocket服务器。
本发明实施例提供的基于网页浏览器通信的防火墙穿越方法、设备和系统,首先源终端向WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息,然后根据WebRTC服务器所反馈的信令响应消息中的websocket服务器的地址信息和第一端口的标识信息,将所述第一端口的标识信息,以及与所述通信交互对应的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上,其中,该第二端口属于与源终端对应的开放端口,websocket服务器根据存储在所述WebRTC服务器中的地址映射关系获取与源终端地址信息和第一端口的标识信息对应的目标终端,将媒体流通过与第一端口的标识信息对应的端口转发给目标终端,从而实现了企业网内基于网页浏览器通信的防火墙穿越,在保证企业内网通信安全的同时,提高了通信业务的灵活性,以及与现有通信业务的兼容性和耦合度。
附图说明
图1为本发明实施例提供的一个基于网页浏览器通信的防火墙穿越方法的流程图;
图2为本发明实施例提供的另一个基于网页浏览器通信的防火墙穿越方法的流程图;
图3为本发明实施例提供的又一个基于网页浏览器通信的防火墙穿越方法的流程图;
图4为本发明实施例提供的一个源终端的结构示意图;
图5为本发明实施例提供的一个websocket服务器的结构示意图;
图6为本发明实施例提供的一个基于网页浏览器通信的防火墙穿越系统的结构示意图。
具体实施方式
图1为本发明实施例提供的一个基于网页浏览器通信的防火墙穿越方法的流程图,如图1所示,该方法包括:
步骤100,源终端向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息;
在企业网中,为了保证信息安全,通常会使用防火墙限制企业网内部电脑终端的某些端口,因此,当企业网内的源终端使用基于网页浏览器的实时通讯功能与企业网之外的目标终端进行通信交互时,如果源终端与目标终端通过网页实时通信WebRTC服务器协商的动态通信端口受到防火墙的使用限制,则源终端发送的媒体流会直接被防火墙拦截,因此,为了保证通信不被拦截,源终端向WebRTC服务器发送用于与目标终端进行通信交互的信令消息中包括端口受限标识,需要说明的是,该信令消息是源终端用于与目标终端进行通信交互的信令消息,所以该信令消息中还包括源终端的地址信息、目标终端的标识等信息,与现有技术中源终端发起与目标终端进行交互请求中的信息一致,本实施例不再赘述,本实施例的不同之处在于该信令消息中还包括端口受限标识。
步骤101,所述源终端接收所述WebRTC服务器根据所述端口受限标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;
WebRTC服务器对接收到的信令消息进行解析获取端口受限标识,现有技术中,WebRTC服务器根据源终端发送的用于与目标终端进行通信交互的信令消息会向源终端返回目标终端的地址信息与端口标识,然而本实施例中WebRTC服务器不再向源终端返回目标终端的地址信息与端口标识,而是根据端口受限标识向所监控的websocket服务器发送端口查询请求,websocket服务器根据端口查询请求向所述WebRTC服务器上报自身的地址信息和第一端口的标识信息,需要说明的是,WebRTC服务器上报的第一端口是根据预设的端口查询策略所获取的,比如,查询空闲端口,或者查询端口利用率小于预设阈值的端口,都可以作为第一端口上报。然后WebRTC服务器将websocket服务器地址信息和第一端口的标识信息作为通信地址信息,并在本地保存源终端地址信息、目标终端地址信息和通信地址信息三者的地址映射关系,并将websocket服务器地址信息和第一端口的标识信息反馈给源终端。
步骤102,所述源终端将所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上,其中,所述第二端口属于与所述源终端对应的开放端口,以使所述websocket服务器根据存储在所述WebRTC服务器中、与所述源终端地址信息和所述第一端口的标识信息对应的地址映射关系将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
源终端对WebRTC服务器返回的信令响应消息进行解析获取websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息,然后源终端将所述第一端口的标识信息,以及与目标终端之间的通信交互对应的包含所述源终端地址信息的媒体流发送到与该地址信息对应的websocket服务器的第二端口上,其中,该第二端口属于与源终端对应的开放端口,websocket服务器通过第二端口接收到源终端发送的第一端口的标识信息和包含所述源终端地址信息的媒体流之后,根据第一端口的标识信息和源终端地址信息查询存储在WebRTC服务器中的地址映射关系获取与所述第一端口的标识信息和源终端地址信息对应的目标终端地址信息,并将所述媒体流通过与所述第一端口的标识信息对应的端口转发给目标终端。需要说明的是,本实施例中websocket服务器接收源终端发送的媒体流所使用的第二端口,以及将媒体流发送给目标终端使用的第一端口可以相同,也可以不同。
本实施例提供的基于网页浏览器通信的防火墙穿越方法,首先源终端向WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息,然后根据WebRTC服务器所反馈的信令响应消息中的websocket服务器的地址信息和第一端口的标识信息,将所述第一端口的标识信息,以及与所述通信交互对应的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上,其中,该第二端口属于与源终端对应的开放端口,websocket服务器根据存储在所述WebRTC服务器中的地址映射关系获取与源终端地址信息和第一端口的标识信息对应的目标终端,将媒体流通过与第一端口的标识信息对应的端口转发给目标终端,从而实现了企业网内基于网页浏览器通信的防火墙穿越,在保证企业内网通信安全的同时,提高了通信业务的灵活性,以及与现有通信业务的兼容性和耦合度。
值得注意的是,上述所示实施例中的端口受限标识的具体内容可以根据实际的应用需要进行设置,但是为了兼容现有技术中通过WebRTC服务器完成源终端与目标终端之间通信交互的信令流程,即源终端接收WebRTC服务器返回的动态通信端口后,在应用层直接采用UDP承载转发媒体流。因此,下面的实施例将端口受限标识设置为所述源终端上的临时端口标识,由于自身发送给自身,不会受到防火墙的限制,使得源终端根据WebRTC服务器返回的信令直接采用UDP承载将媒体流发送给自身上的临时端口,具体通信流程参加图2所示实施例,图2为本发明实施例提供的另一个基于网页浏览器通信的防火墙穿越方法的流程图,如图2所示,该方法包括:
步骤200,源终端向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括所述源终端上的临时端口标识的信令消息;
当企业网内的源终端使用基于网页浏览器的实时通讯功能与企业网之外的目标终端进行通信交互时,源终端向WebRTC服务器发送用于与目标终端进行通信交互的信令消息,该信令消息中包括端口受限标识,本实施例中的端口受限标识为源终端上的临时端口标识,需要说明的是,该信令消息是源终端用于与目标终端进行通信交互的信令消息,所以该信令消息中还包括源终端的地址信息、目标终端的标识等信息,与现有技术中源终端发起与目标终端进行交互请求中的信息一致,本实施例不再赘述,本实施例的不同之处在于该信令消息中还包括端口受限标识。
步骤201,所述源终端接收所述WebRTC服务器根据所述临时端口标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;
WebRTC服务器对接收到的信令消息进行解析获取源终端上的临时端口标识,现有技术中,WebRTC服务器根据源终端发送的用于与目标终端进行通信交互的信令消息会向源终端返回目标终端的地址信息与端口标识,然而本实施例中WebRTC服务器不再向源终端返回目标终端的地址信息与端口标识,而是根据源终端上的临时端口标识向所监控的websocket服务器发送端口查询请求,websocket服务器根据端口查询请求向所述WebRTC服务器上报自身的地址信息和第一端口的标识信息,需要说明的是,WebRTC服务器上报的第一端口是根据预设的端口查询策略所获取的,比如,查询空闲端口,或者查询端口利用率小于预设阈值的端口,都可以作为第一端口上报。然后WebRTC服务器将websocket服务器地址信息和第一端口的标识信息作为通信地址信息,并在本地保存源终端地址信息、目标终端地址信息、和通信地址信息三者的地址映射关系,并将websocket服务器地址信息和第一端口的标识信息反馈给源终端。
步骤202,所述源终端将与所述通信交互对应的媒体流采用UDP承载发送到与所述临时端口标识对应的临时端口;
源终端对WebRTC服务器返回的信令响应消息进行解析获取websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息,然后将与所述通信交互对应的媒体流采用用户数据报协议(User Datagram Protocol,UDP)承载发送到与所述临时端口标识对应的临时端口,该步骤兼容现有技术中源终端接收WebRTC服务器返回的与目标终端协商的动态通信端口后,在应用层直接采用UDP承载转发媒体流的操作步骤。
步骤203,所述源终端通过所述临时端口向与所述地址信息对应的websocket服务器的第二端口上发送包括所述第一端口的标识信息的握手消息,其中,所述第二端口属于与所述源终端对应的开放端口;
源终端监听与所述临时端口标识对应的临时端口是否接收到媒体流,若是,则通过所述临时端口向与所述地址信息对应的websocket服务器的第二端口上发送包括所述第一端口的标识信息的握手消息,其中,所述第二端口属于与所述源终端对应的开放端口,websocket服务器根据握手消息与源终端建立websocket连接。
步骤204,所述源终端将包含所述源终端地址信息的媒体流采用TCP承载发送到所述第二端口,以使所述websocket服务器根据存储在所述WebRTC服务器中、与所述源终端地址信息和所述第一端口的标识信息对应的地址映射关系将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
源终端与websocket服务器建立连接后,将与所述通信交互对应的包含所述源终端地址信息的媒体流采用传输控制协议(Transmission Control Protocol,TCP)承载发送到所述第二端口,websocket服务器通过第二端口接收到源终端发送的包含所述源终端地址信息的媒体流之后,根据握手协议中的第一端口的标识信息查询存储在WebRTC服务器中、与所述所述源终端地址信息和第一端口的标识信息对应的地址映射关系获取对应的目标终端地址信息,并将所述媒体流通过与所述第一端口的标识信息对应的端口转发给目标终端。需要说明的是,本实施例中websocket服务器接收源终端发送的媒体流所使用的第二端口,以及将媒体流发送给目标终端使用的第一端口可以相同,也可以不同。
本实施例提供的基于网页浏览器通信的防火墙穿越方法,首先源终端向WebRTC服务器发送用于与目标终端进行通信交互的、包括临时端口标识的信令消息,然后根据WebRTC服务器所反馈的信令响应消息中的websocket服务器的地址信息和第一端口的标识信息,先将与所述通信交互对应的媒体流采用UDP承载发送到与所述临时端口标识对应的临时端口,再向websocket服务器的第二端口上发送包括第一端口的标识信息的握手消息建立连接,最后通过临时端口将包含源终端地址信息的媒体流采用TCP承载发送到websocket服务器的第二端口上,websocket服务器根据存储在所述WebRTC服务器中、与所述第一端口的标识信息对应的地址映射关系将媒体流通过与源终端地址信息和第一端口的标识信息对应的端口转发给目标终端,从而实现了企业网内基于网页浏览器通信的防火墙穿越,在保证企业内网通信安全的同时,提高了通信业务的灵活性,以及与现有通信业务的兼容性和耦合度,并且兼容了现有技术中源终端与网页实时通信服务器之间的部分信令流程。
需要说明的是,现有技术中,源终端与目标终端通过网页实时通信WebRTC服务器协商的通信端口是动态变化的,企业网内部与源终端对应的开放端口即第二端口也会根据业务需要而变化,因此,如果与源终端对应的第二端口属于源终端与目标终端通过WebRTC服务器协商的动态通信端口,则源终端发送给目标终端的媒体流不会被防火墙拦截;如果与源终端对应的第二端口不属于源终端与目标终端通过WebRTC服务器协商的动态通信端口,则源终端发送给目标终端的媒体流会直接被防火墙拦截。因此,基于上述实施例,在源终端向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息之前,所述方法还包括:
源终端请求所述WebRTC服务器下发所述目标终端上用于与所述源终端进行通信交互所使用的通信端口标识;
源终端接收WebRTC服务器反馈的通信端口标识,并判断所述通信端口标识是否属于与所述源终端对应开放的第二端口,确定是否需要继续与WebRTC服务器进行后续信令交互,以通过websocket服务器转发源终端与目标终端进行通信交互所对应的媒体流。
本实施例实现了当源终端与目标终端通过WebRTC服务器协商的动态通信端口属于与源终端对应开放的端口,与通信交互对应的媒体流不会被防火墙拦截的情况下,源终端直接根据WebRTC服务器反馈的通信端口将媒体流发送给目标终端,避免了通过websocket服务器转发,节约了处理资源。
图3为本发明实施例提供的又一个基于网页浏览器通信的防火墙穿越方法的流程图,如图3所示,该方法包括:
步骤300,websocket服务器接收网页实时通信WebRTC服务器发送的端口查询请求,并向所述WebRTC服务器发送自身的地址信息和所述websocket服务器上的第一端口的标识信息,以使所述WebRTC服务器将所述地址信息和所述第一端口的标识信息反馈给发起用于与目标终端进行通信交互的信令消息的源终端;
步骤301,所述websocket服务器通过第二端口接收所述源终端发送的所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流,其中,所述第二端口属于与所述源终端对应的开放端口;
步骤302,所述websocket服务器根据存储在所述WebRTC服务器中的地址映射关系获取与所述源终端地址信息和第一端口的标识信息对应的目标终端地址信息,并根据所述目标终端地址信息将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本实施例提供的基于网页浏览器通信的防火墙穿越方法中各步骤的具体处理流程,可以参见上述图1所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明实施例提供的一个源终端的结构示意图,如图4所示,该源终端包括:发送模块11、第一接收模块12和第一处理模块13,其中,发送模块11用于向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息;第一接收模块12用于接收所述WebRTC服务器根据所述端口受限标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;第一处理模块13用于将所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上,其中,所述第二端口属于与所述源终端对应的开放端口,以使所述websocket服务器根据存储在所述WebRTC服务器中、与所述源终端地址信息的第一端口的标识信息对应的地址映射关系将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本实施例提供的源终端中各模块的功能和处理流程,可以参见上述图1所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
基于上述实施例,进一步地,若所述端口受限标识为所述源终端上的临时端口标识,则第一处理模块13具体用于:
将与所述通信交互对应的媒体流采用UDP承载发送到与所述临时端口标识对应的临时端口;
通过所述临时端口向与所述第二端口发送包括所述第一端口的标识信息的握手消息;
将所述媒体流采用TCP承载发送到所述第二端口。
本实施例提供的源终端中各模块的功能和处理流程,可以参见上述图2所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
基于上述实施例,进一步地,
第一接收模块12,还用于在所述发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息之前,请求所述WebRTC服务器下发所述目标终端上用于与所述源终端进行通信交互所使用的通信端口标识;
第一处理模块13,还用于接收所述通信端口标识,并判断所述通信端口标识是否属于与所述源终端对应的开放端口。
本实施例提供的源终端实现了当源终端与目标终端通过WebRTC服务器协商的动态通信端口属于与源终端对应开放的端口,与通信交互对应的媒体流不会被防火墙拦截的情况下,源终端直接根据WebRTC服务器反馈的通信端口将媒体流发送给目标终端,避免了通过websocket服务器转发,节约了处理资源。
图5为本发明实施例提供的一个websocket服务器的结构示意图,如图5所示,该websocket服务器包括:第二处理模块21、第二接收模块22和通信模块23,其中,第二处理模块21用于接收网页实时通信WebRTC服务器发送的端口查询请求,并向所述WebRTC服务器发送自身的地址信息和所述websocket服务器上的第一端口的标识信息,以使所述WebRTC服务器将所述地址信息和所述第一端口的标识信息反馈给发起用于与目标终端进行通信交互的信令消息的源终端;第二接收模块22用于通过第二端口接收所述源终端发送的所述第一端口的标识信息,以及与所述通信交互对应的包含源地址信息的媒体流,其中,所述第二端口属于与所述源终端对应的开放端口;通信模块23用于根据存储在所述WebRTC服务器中的地址映射关系获取与所述源地址信息和第一端口的标识信息对应的目标终端地址信息,并根据所述目标终端地址信息将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
本实施例提供的websocket服务器中各模块的功能和处理流程,可以参见上述图3所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例提供的一个基于网页浏览器通信的防火墙穿越系统的结构示意图,如图6所示,该系统包括:网页实时通信服务器1、目标终端2、源终端3,以及websocket服务器4。其中,源终端3,以及websocket服务器4可以采用本发明上述实施例提供的源终端以及websocket服务器,网页实时通信服务器1和目标终端2可以为本发明上述实施例涉及的网页实时通信服务器和目标终端。
本实施例提供的基于网页浏览器通信的防火墙穿越系统中各模块的功能和处理流程,可以参见上述图1所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于网页浏览器通信的防火墙穿越方法,其特征在于,包括:
源终端向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息;
所述源终端接收所述WebRTC服务器根据所述端口受限标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;
所述源终端将所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流发送到与所述源终端地址信息对应的websocket服务器的第二端口上,其中,所述第二端口属于与所述源终端对应的开放端口,以使所述websocket服务器根据存储在所述WebRTC服务器中的与所述源终端地址信息和第一端口的标识信息对应的地址映射关系获取与所述源终端地址信息和所述第一端口的标识信息对应的目标终端,并将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
2.根据权利要求1所述的基于网页浏览器通信的防火墙穿越方法,其特征在于,若所述端口受限标识为所述源终端上的临时端口标识,则所述将包含所述第一端口的标识信息、与所述通信交互对应的媒体流发送到与所述地址信息对应的websocket服务器的第二端口上具体包括:
所述源终端将与所述通信交互对应的媒体流采用UDP承载发送到与所述临时端口标识对应的临时端口;
所述源终端通过所述临时端口向与所述第二端口发送包括所述第一端口的标识信息的握手消息;
所述源终端将所述媒体流采用TCP承载发送到所述第二端口。
3.根据权利要求1或2所述的基于网页浏览器通信的防火墙穿越方法,其特征在于,在所述发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息之前,所述方法还包括:
所述源终端请求所述WebRTC服务器下发所述目标终端上用于与所述源终端进行通信交互所使用的通信端口标识;
所述源终端接收所述通信端口标识,并判断所述通信端口标识是否属于与所述源终端对应的开放端口。
4.一种基于网页浏览器通信的防火墙穿越方法,其特征在于,包括:
websocket服务器接收网页实时通信WebRTC服务器发送的端口查询请求,并向所述WebRTC服务器发送自身的地址信息和所述websocket服务器上的第一端口的标识信息,以使所述WebRTC服务器将所述地址信息和所述第一端口的标识信息反馈给发起用于与目标终端进行通信交互的信令消息的源终端;
所述websocket服务器通过第二端口接收所述源终端发送的所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流,其中,所述第二端口属于与所述源终端对应的开放端口;
所述websocket服务器根据存储在所述WebRTC服务器中的地址映射关系获取与所述源终端地址信息和所述第一端口的标识信息对应的目标终端地址信息,并根据所述目标终端地址信息将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
5.一种源终端,其特征在于,包括:
发送模块,用于向网页实时通信WebRTC服务器发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息;
第一接收模块,用于接收所述WebRTC服务器根据所述端口受限标识返回的信令响应消息,其中,所述信令响应消息包括:所述WebRTC服务器所监控的websocket服务器的地址信息和所述websocket服务器上第一端口的标识信息;
第一处理模块,用于将所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流发送到与所述源终端地址信息对应的websocket服务器的第二端口上,其中,所述第二端口属于与所述源终端对应的开放端口,以使所述websocket服务器根据存储在所述WebRTC服务器中的与所述源终端地址信息和第一端口的标识信息对应的地址映射关系获取与所述源终端地址信息和所述第一端口的标识信息对应的目标终端,并将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
6.根据权利要求5所述的源终端,其特征在于,若所述端口受限标识为所述源终端上的临时端口标识,则所述第一处理模块具体用于:
将与所述通信交互对应的媒体流采用UDP承载发送到与所述临时端口标识对应的临时端口;
通过所述临时端口向与所述第二端口发送包括所述第一端口的标识信息的握手消息;
将所述媒体流采用TCP承载发送到所述第二端口。
7.根据权利要求5或6所述的源终端,其特征在于,
所述第一接收模块,还用于在所述发送用于与目标终端进行通信交互的、包括端口受限标识的信令消息之前,请求所述WebRTC服务器下发所述目标终端上用于与所述源终端进行通信交互所使用的通信端口标识;
所述第一处理模块,还用于接收所述通信端口标识,并判断所述通信端口标识是否属于与所述源终端对应的开放端口。
8.一种websocket服务器,其特征在于,包括:
第二处理模块,用于接收网页实时通信WebRTC服务器发送的端口查询请求,并向所述WebRTC服务器发送自身的地址信息和所述websocket服务器上的第一端口的标识信息,以使所述WebRTC服务器将所述地址信息和所述第一端口的标识信息反馈给发起用于与目标终端进行通信交互的信令消息的源终端;
第二接收模块,用于通过第二端口接收所述源终端发送的所述第一端口的标识信息,以及与所述通信交互对应的、包含所述源终端地址信息的媒体流,其中,所述第二端口属于与所述源终端对应的开放端口;
通信模块,用于根据存储在所述WebRTC服务器中的地址映射关系获取与所述源终端地址信息和第一端口的标识信息对应的目标终端地址信息,并根据所述目标终端地址信息将所述媒体流通过与所述第一端口的标识信息对应的端口转发给所述目标终端。
9.一种基于网页浏览器通信的防火墙穿越系统,其特征在于,包括:网页实时通信服务器、目标终端、如权利要求5-7任一所述的源终端,以及如权利要求8所述的websocket服务器。
CN201410188886.7A 2014-05-06 2014-05-06 基于网页浏览器通信的防火墙穿越方法、设备和系统 Active CN103929438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410188886.7A CN103929438B (zh) 2014-05-06 2014-05-06 基于网页浏览器通信的防火墙穿越方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410188886.7A CN103929438B (zh) 2014-05-06 2014-05-06 基于网页浏览器通信的防火墙穿越方法、设备和系统

Publications (2)

Publication Number Publication Date
CN103929438A CN103929438A (zh) 2014-07-16
CN103929438B true CN103929438B (zh) 2017-02-15

Family

ID=51147515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410188886.7A Active CN103929438B (zh) 2014-05-06 2014-05-06 基于网页浏览器通信的防火墙穿越方法、设备和系统

Country Status (1)

Country Link
CN (1) CN103929438B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079021A (zh) * 2014-10-21 2017-08-18 统有限责任两合公司 在建立rtc客户端与rtc服务器之间的rtc通信连接时穿越应用层网关防火墙的电信装置和方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125145B (zh) * 2014-08-12 2017-05-17 中国联合网络通信集团有限公司 基于网页浏览器的通信方法、设备和系统
US9917746B2 (en) * 2014-11-04 2018-03-13 Futurewei Technologies, Inc. Adaptive allocation of server resources
CN107316517A (zh) * 2017-07-18 2017-11-03 北京奥鹏远程教育中心有限公司 视频互动教学实现方法
CN109561087B (zh) * 2018-11-28 2021-06-08 南京中孚信息技术有限公司 防火墙穿透方法及系统
CN109726129B (zh) * 2018-12-29 2022-08-12 北京小米移动软件有限公司 代码段运行方法、装置、终端及存储介质
CN111343083B (zh) * 2020-05-22 2020-08-11 支付宝(杭州)信息技术有限公司 即时通信方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262478A (zh) * 2008-04-10 2008-09-10 杭州华三通信技术有限公司 穿越网络地址转换nat的方法和设备
CN101997673A (zh) * 2009-08-17 2011-03-30 成都市华为赛门铁克科技有限公司 网络代理实现方法及装置
US8281363B1 (en) * 2008-03-31 2012-10-02 Symantec Corporation Methods and systems for enforcing network access control in a virtual environment
CN102984696A (zh) * 2012-12-04 2013-03-20 中国联合网络通信集团有限公司 基于移动终端的ip通信方法、设备和系统
CN103414798A (zh) * 2013-07-31 2013-11-27 中国联合网络通信集团有限公司 基于网络地址转换的通信方法、设备和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281363B1 (en) * 2008-03-31 2012-10-02 Symantec Corporation Methods and systems for enforcing network access control in a virtual environment
CN101262478A (zh) * 2008-04-10 2008-09-10 杭州华三通信技术有限公司 穿越网络地址转换nat的方法和设备
CN101997673A (zh) * 2009-08-17 2011-03-30 成都市华为赛门铁克科技有限公司 网络代理实现方法及装置
CN102984696A (zh) * 2012-12-04 2013-03-20 中国联合网络通信集团有限公司 基于移动终端的ip通信方法、设备和系统
CN103414798A (zh) * 2013-07-31 2013-11-27 中国联合网络通信集团有限公司 基于网络地址转换的通信方法、设备和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079021A (zh) * 2014-10-21 2017-08-18 统有限责任两合公司 在建立rtc客户端与rtc服务器之间的rtc通信连接时穿越应用层网关防火墙的电信装置和方法
CN107079021B (zh) * 2014-10-21 2019-03-22 统一有限责任两合公司 在建立rtc通信连接时穿越防火墙的装置和方法

Also Published As

Publication number Publication date
CN103929438A (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
CN103929438B (zh) 基于网页浏览器通信的防火墙穿越方法、设备和系统
US10536490B2 (en) Apparatus and method for communications involving a legacy device
CN104796396B (zh) 提供用于基于策略的应用代理的网络代理层的方法和介质
CN105791315B (zh) 一种udp协议加速方法和系统
CN104125145B (zh) 基于网页浏览器的通信方法、设备和系统
CN104243281B (zh) 基于移动互联网的语音通信方法
CN108989488B (zh) 网络地址转换设备的穿越方法、装置及存储介质
CN101883056B (zh) 基于udt和tcp中转实现nat穿越的方法
CN108259542A (zh) 资源的传输方法和装置
CN106817341B (zh) 一种面向移动互联网的sip协议节流传输系统及方法
US20130035079A1 (en) Method and system for establishing data commuication channels
CN105656847A (zh) 面向移动设备的sip/mqtt协议转换网关系统及其控制方法
CN104320327A (zh) 基于社交网络同一账号的多角色同时在线实现方法及系统
CN104639555B (zh) 请求处理方法、系统和装置
CN102710765A (zh) 一种cdn服务器实现透明代理的方法、装置及系统
CN104283972B (zh) 基于浏览器的消息推送方法、设备和系统
CN106789993B (zh) Tcp代理方法及装置
CN106257887A (zh) 一种基于WebSocket的获取客户端硬件信息的方法
CN103973541A (zh) 一种向群组成员发送多媒体消息的方法及设备
CN103916489B (zh) 一种单域名多ip的域名解析方法及系统
CN101557354A (zh) 一种在在线客服中发送图片的方法
CN104168302B (zh) 设备操控实现方法、系统和代理网关
KR101144190B1 (ko) 메시지 전송 시스템 및 방법
CN103944892B (zh) 一种动态虚拟局域网注册方法和设备
CN106612307A (zh) 一种永远在线业务的实现方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant