浅析HOUO即时通讯系统在NAT网络环境下的UDP信息传输

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:rowhwafo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]即时通讯系统(Instant Messaging)是目前Intemet上最为流行的通讯方式。为解决即时通讯中的NAT(NetworkAddress Translation)穿越问题本文分析了一些NAT穿透技术,介绍了一种最为实用的方法:打洞技术(Hole Punching),并对NAT基本原理及NAT分类加以阐述,并对心跳技术作了详细说明最后,用UDP协议来穿透NAT进行通信作了简要介绍。
  [关键词]UDP信息传输;系统分析与设计
  中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2015)05-0325-01
  随着社会发展及网络普及,网络聊天已成为人们日常沟通的重要载体。市场上已经出现很多网络聊天工具,如腾讯QQ、MSN、阿里旺旺、Skype等等,给人们带来了乐趣和便捷。本文作为整个Hollo即时通讯系统的一部分,重点关注在NAT网络环境下的UDP信息传输,通过研究该课题,可以对UDP信息传输有更进一步的了解,从中接触到关于防火墙、网络地址转换、P2P应用、NAT的几种类型知识,同时实现“心跳”技术,即每隔几分钟即时通讯端往服务器发送UDP信息进行端口保持。
  一、系统分析与设计
  系统采用C/S(客户机/服务器)模式,本Hollo即时通信协议采用UDP协议。服务器具有中心服务器的功能。客户端要先登陆服务器才能接受各种服务。通信时,由客户端发送连接请求,服务器担任中转者角色,将网络包从发送方转交给接收方。其功能包括:记录客户机各种活动、负责对客户机消息的转发。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。
  二、基本原理及分类
  NAT网络环境介绍
  NAT(Network Address Translators),网络地址转换,是一种将一个IP地址域映射到另一个IP地址域技术,从而为终端主机提供透明路由。NAT包括静态网络地址转换、动态网络地址转换、网络地址及端口转换、动态网络地址及端口转换、端口映射等。主要包括基础NAT、锥形NAT、对称NAT等三类。常用于私有地址域与公用地址域的转换以解决IP地址匮乏问题。在防火墙上实现NAT后,可以隐藏受保护网络的内部拓扑结构,在一定程度上提高网络的安全性。如果反向NAT提供动态网络地址及端口转换功能,还可以实现负载均衡等功能。
  网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。
  因此,基本的NAT实现的功能很简单,在子网内使用一个保留的IP子网段,这些IP对外是不可见的。子网内只有少数一些IP地址可以对应到真正全球唯一的IP地址。如果这些节点需要访问外部网络,那么基本NAT就负责将这个节点的子网内IP转化为一个全球唯一的IP然后发送出去。(基本的NAT会改变IP包中的原IP地址,但是不会改变IP包中的端口)。
  NAT技術的出现从某种意义上解决了IPv4的32位地址不足的问题,它同时也对外隐藏了其内部网络的结构。NAT设备(NAT,一般也被称为中间件)把内部网络跟外部网络隔离开来,并且可以让内部的主机可以使用一个独立的IP地址,并且可以为每个连接动态地翻译这些地址。
  网络地址转换器不仅检查,而且修改了跨境流动的数据包的头信息,让后面的NAT的许多主机使用数量较少地址,即共享一个公共IP地址(通常是一个)。
  ——采用UDP网络传输协议
  UDP协议是英文User Datagram Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。与TCP不同,UDP协议并不提供数据传送的保证机制,具有“不可靠性”,但它是分发信息的一个理想协议。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的RealAudio audio-on-demand protocol协议就是运行在UDP之上的协议,大多数因特网电话软件产品也都运行在UDP之上。
  ——UDP下的信息传输设计
  1、数据传输
  UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。
  使用端口号为不同的应用保留其各自的数据传输通道。
  2、UDP报头校验值
  UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。
  3、UDP消息确认机制
  对于聊天软件有大量连接的程序来说,消息准确可靠是很重要的,TCP连接虽然可靠,但是在网络不稳定的时候也是不可靠的,主要表现在TCP连接中断之后双方没检测到中断之前的发包对方是收不到的,而KTCP的并发连接数量是有限的,不可能无限制增长,而如果UDP增加了消息确认机制后就没有TCP的这些缺点。
  4、消息确认机制的实现
  初步分析采用消息处理和消息确认分为两个程序的方式进行,它们采用两个命名管道进行通讯,相当于电话中两条线,一条收一条发.每条管道也都采用消息确认的方式,当收到一条消息的时候再回复一条消息,对方收到回复消息后才发下一条消息,最后再把消息确认程序改成系统服务。
  5、UDP穿透
  一般情况下,TCP发送消息更安全,更可靠,而UDP传送数据容易丢包,但速度快,能穿越防火墙。目前比较流行的QQ聊天工具底层传输协议用户的就是UDP协议。
  6、UDP发送心跳包
  所谓的心跳包就是在客户端和服务器端间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
  发包方:可以是客户也可以是服务端,看哪边实现方便合理。一般是客户端。服务器也可以定时轮询发心跳下去。
  三、总结与展望
  即时通信中最基本的功能就是通过计算机之间的文本数据的互换形式,实现思想的交流和沟通,它的优点是方便快捷,为人们的沟通创建了一种新型的、廉价的、快速的、简便的沟通方式。本即时通讯系统采用了C/S模型。服务器在C/S模型中处于一个中心地位。服务器一般同时为多个客户提供服务。这就造成了服务器设计的复杂性。即时通讯服务器是数据中心,它是客户活动的中介,需要同时应对众多客户的请求。保证其可行性和高效性是其设计中必不可少的一个环节。通过对消息的不同处理,保证了服务器的这些功能的健壮。
  客户机在与用户打交道过程中,自始至终都会影响着用户对新产品的满意度。因此客户机在界面设计方面也有不可忽视的作用。客户之间的异网通信更是本文的重中之重。这就涉及到了如何穿透NAT,本文分析了穿透情况,并对打洞技术进行详细说明,使读者能更加容易明白打洞过程。从而保证了外网通信的可行性。
其他文献
[摘要]随着信息化的发展,手写数字的识别研究有着重大的现实意义。本文通过建模、系统实现对手写数字识别技术进行概述,然后通过实验结果来对手写数字识别系统来的识别率和错误率进行分析。  [关键词]手写数字识别;建模;系统实现;系统实验  中图分类号:U534 文献标识码:A 文章编号:1009-914X(2015)05-0329-01  一、概述  手写数字识别(Handwritten Numeral
期刊
[摘要]针对石化项目大型储罐的吊装和运输,根据现场实际情况(安装工期、吊车投入等)制定切实可行的施工方案,对后期大型储罐安装提供参考。  [关键词]大型储罐;吊装运输  中图分类号:U294.27+5 文献标识码:A 文章编号:1009-914X(2015)05-0162-02  1.概述  某石化工程大型罐体直径为Φ9216mm,最大直径为底板直径Φ9420mm,总高度5953mm,预制完成后,
期刊
中图分类号:1042 文献标识码:A 文章编号:1009-914X(2015)05-0151-01  一、养成良好工作习惯,为干事创业打牢根基  良好工作习惯是干好一切工作的前提保障,如果没有良好习惯随随便便怎么都行,呢将一事无成。第一要养成谦虚好学的习惯。今年初通过在处理现场发生的一次突发事件中发现,个别干部现场判断和指挥能力欠缺,党支部书记看在眼里记在心里,回来后召开支委会决定以“怎样当好指挥
期刊
[摘要]随着云计算业务的持续增长,与云计算相关的或者直接以云为目标的网络犯罪也不断增加。云计算环境下互联网将面临更多的计算机犯罪问题,给计算机取证带来了极大的挑战。本文通过分析讨论了云环境下数字取证所面临的挑战,同时尝试性地提出一种云取证模型。该模型利用Agent技术获取证据,利用云计算中的虚拟化技术和协作技术,提高取证效率及计算机证据的安全性。  [关键词]云计算计算机取证云取证模型  中图分类
期刊
[摘要]近年来,企业越来越多的使用网络存储设备作为其存储海量数据的媒介,但是随着多起企业数据资料泄露事件的发生,企业越来越注重存储安全的重要性。本文在对协议进行分析的基础上,设计并实现了基于协议的存储加密代理,以实现企业文件数据在网络存储设备上的加密存储,同时提供多种访问控制规则相结合的访问控制机制,保证文件数据在网络存储设备上的安全共享,并通过实际测试实验,对存储加密代理的功能、性能进行了测试。
期刊
[摘要]主要介绍煤矿井下防爆柴油机的发展应用和研制现状,以及研制开发中涉及的主要防爆改造措施,并在此基础上分析防爆柴油机在我国的发展趋势。  [关键词]防爆柴油机 开发应用 发展趋势  中图分类号:U464.172 文献标识码:A 文章编号:1009-914X(2015)05-0154-01  1引言  防爆柴油机是指根据煤矿安全要求,经过防爆改造后专门用于含有一定易燃易爆气体环境中的柴油机,特别
期刊
[摘要]网络数据包捕获技术主要实现了对网络上的数据包进行捕获及分析,是网络安全维护的基础技术和核心手段。它是利用计算机技术截获网络上的数据包,并对截获到数据包进行分析。本文在了解WinPcap基本原理和组成的基础上阐述了利用WinPcap技术在Windows下捕获数据包的方法。  [关键词]网络数据包;捕获;过滤;Windows;WinPcap  中图分类号:TP393.08 文献标识码:A 文章
期刊
[摘要]由于P2P网络架构灵活,具有很强的开放性,越来越多的被用到各项日常应用中,其便捷高效的方法,低廉的代价得到人们的认可。本文介绍了P2P网络的基本原理,结构化分类;阐述了P2P网络与传统网络间的区别及优缺点,论述了P2P网络在现实中的应用以及在未来的前景。  [关键词]P2P 对等网络 点对点 节点  中图分类号:F832.4 文献标识码:A 文章编号:1009-914X(2015)05-0
期刊
[摘要]本文分析了多种典型复杂场景下重点监控区域的特点,研究现有重点监控区域分割方法,提出基于背景颜色统计建模的重点监控区域提取方法。  [关键词]监控场景;重点监控区域分割;V通道,形态学  中图分类号:TP391 文献标识码:A 文章编号:1009-914X(2015)05-0314-01  1引言  基于背景统计建模的重点监控区域提取是提高运动目标实时检测效率的有效途径。本文首先介绍重点监控
期刊
[摘要]本文针对基层社区警务工作的特点和需要,分析了国内相关领域的研究进展,论述了利用GIS技术来实现社区警务工作精细化管理的技术路线,依托公安部PGIS,平台,设计和实现了社区警务管理系统的系统原型,探讨了GIS技术在社区警务应用中的若干技术问题。  [关键词]PGIS 社区警务 系统  中图分类号:P208 文献标识码:A 文章编号:1009-914X(2015)05-0336-01  引言 
期刊