Pages
Archive
  • July 2009 (2)
  • June 2009 (2)
  • May 2009 (15)
  • Author: admin | Category: SP
    Comments: 0

      移动梦网和联通在信都是构建在有中国特色的短信网关部件基础上的,亚信为中国移动设计的CMPP协议规范,中国联通的SGIP规范都是为这个短信网关提供的互联网接口标准,可以看出二者都是借鉴GSM SMPP协议的两种简化版。

      CMPP提供了基于TCP的长连接接口和短连接接口标准,SGIP提供了基于TCP和HTTP/TCP的短连接接口标准。CMPP中的短信网关为TCP服务器,通过接收SP发起的TCP连接来发送MT/MO/Report/Resp等消息。SGIP中发送MT/MTResp时是短信网关为TCP服务器,发送MO/MOResp/Report/ReportResp时短信网关作为TCP客户端。

      从CMPP协议的文字内容来看,目前所有的短信网关的设计和实现都不标准。这是很有中国特色的,中国人不擅长搞统一的技术标准和规范,任何两个系统之间无论什么接口私下定义一下,就成了。西方人做研究搞技术,涉及到两个对象(包括人)打交道的,就定义一大堆标准和规范,约束各方。大家严格地遵守规范,如果有异议,就有人提议修改标准。很少私下去违反约定的标准来实现某个系统。在通信领域,好不容易出了个协议标准,居然连设计这个标准的厂家也不遵守。中国的法律成千万,遵纪守法的意识折腾那么多年还是上不来。

      短连接的标准很简单,建立连接后,发送包,接收响应,发送接受,几个来回,关闭连接就成了。长连接标准需要有链路检测的维持机制(其实这个思想来自不可靠的链路通信,如在数据报基础上保障可靠传输的sync机制)、超时重传和差错重传机制、保障有序的传输机制、重复抛弃(duplication removal)机制、流量控制的滑动窗口(Sliding Window)机制。

      CMPP协议文字内容中,每个建立起来的TCP长连接,既可以发送MT的Submit消息,也可以从网关侧发送MO的Deliver/StatusReport消息,每个连接的作用都是同等的。而在实现网关时,为这个问题出了很多个实现方法:亚信网关只允许一个TCP链接来发送MO消息,可以有多个连接来发送MT消息,区分MT链接和MO链接的方法是依据开始发送Connect时的协议版本号,为0是MT,为1是MO。巨搞笑!我真服了亚信那帮人!自己搞的标准,自己不遵守,作为中国的第一大电信集成商,不知道拿什么到Nasdaq上市的。亚信网关还好,什么阴私克、东软的网关,稀奇古怪的东西就更多了。让人怀疑,这不仅仅是技术素养问题了。

      反正这么烂的玩意,有些运营商也用,唉,运营商的技术人员素质更差。我到现在都没有弄懂,运营商反复强调他们网关的接受短消息速度是最大每秒10条?要让所有的SP那里限制发送速度。这个数据,不知道他们是怎么得出的?这种政式的命令,让我无数次骂那个作出这么荒谬要求的**的祖宗。你网关处理速度慢,这是一个典型的技术问题,你那边服务器忙不过来,你协议里定义的滑动窗口机制是干吗用的?就是专门用来解决流量控制目的用的。有谁听说过,美国国防部弄出 TCP协议后,服务器那边接收不过来,要求客户端限定死,每秒钟最多只能发送多少个数据包没有?这些运营商的技术素养,离国际化的大型企业差的太远太远,还到处臭摆自己500强,真是丢中国人的脸!

      最后的结局是各个SP的开发人员,不断地开发好几家网关的接口,就跟求爷爷似的,听着这几个网关供应商和运营商那帮弱智的训斥。

      设计CMPP协议模块,需要考虑如下几个需求:

      (1)可以人为配置的多个TCP连接,来发送和接受消息(移动最多可允许一个SP建立15个连接)。系统初启时,自动地启动指定个数的连接。运行过程中,任意一个连接崩溃时,自动恢复。

      (2)类似心跳消息的长连接维持机制,为每个连接,在最后一个消息的处理结束前,重新启动一个60秒的定时器。如果期间有消息来往,停止定时器,处理完消息后,继续启动定时器。如果60秒超时,重新启动定时器,连续三次超时,关闭这个链接,重新启动建立过程。

      (3)超时重发和差错重传。超时重发的原理是发送每个MT消息后,启动一个60秒的定时器,等待网关返回应答。如果超时,继续发送,连续3次都超时都没有应答,关闭连接,启动链路恢复过程。并将这条消息保存到回收队列中,千万别抛弃。差错重传是接受到错误的应答,并且这个错误是由对等通信双方的协议层产生的,那么重新发送这条消息。

      (4)滑动窗口机制。可以实现流量控制和有效的负载均衡。滑动窗口大小为16条消息。采用异步方式,一次发送16条消息,并等待应答,每成功一个应答,窗口缩小,然后再从缓存取一个发送,填满窗口。准确的说,CMPP协议中定义的滑动窗口概念不准确,应该叫缩放窗口。因为它并没有实现序列控制问题,只是起到流量控制和异步高效快速发送的目的。相对于Stop-Wait机制来说的。

      (5)重复丢弃机制。如果接受到的MO消息是一条重复的,就丢弃这条消息,不能将这条MO消息交给上层。如何判断是重复的呢?通过每条消息的序列号。当然如果网关不维持这个序列号的唯一性和有序性,你只能干瞪眼。

      (6)上接口缓存和回收队列。从上层接受短消息,保存到缓存里,这个缓存不要做的太大,超过一定量时,让上层发送短消息接口阻塞。而将缓存技术单独用一个模块来实现。回收队列是储存每个链路崩溃时,处于滑动窗口中等待应答的消息。

      (7)有序控制机制。是保障先来的消息,先发送出去,后来的后发,严格地保障先后顺序。是通过序列号和滑动窗口来保障的。实际应用中,倒是不那么严格地关注顺序发送问题。

      以上7点是这个协议模块的核心问题。如果,一个CMPP协议模块没有解决这些问题,那是一个残缺不全的实现,上不了桌面的东西。

    Author: yjs | Category: Uncategorized
    Comments: 0

    并非同类型协议

    CMPP和SMPP都是短信协议中的一种,但它们不是同一类型的协议。SMPP和ESME和SMC(短信中心)之间的协议,而CMPP是SP和中国移动ISMG之间的通讯协议。

    以下是CMPP 3.0文档中的图示。

    与CMPP对应的协议有,联通的SGIP协议,中国电信的SMGP协议,网通的CNGP协议。

    作为SP,只需要了解CMPP,不需要了解SMPP。

    最新版本和兼容

    SMPP协议是一个国际标准,有SMS论坛制定,官方网址为smsforum.net,截至2006年7月2日,最新版本是5.0。曾经流行的版本是3.3、3.4。SMPP协议向后兼容的。

    CMPP最新版本似乎是3.0。现在(2006年7月),大多数还是使用CMPP 2.0。CMPP协议没有做到向后兼容,3.0的文档本身也没有讲到兼容的问题,甚至认为,协议制定者压根没想过要兼容。CMPP 3.0没做到向后兼容导致了一个问题,就是SP无法平滑升级。

    PDU格式

    PDU是协议数据单元的缩写,SMPP和CMPP都使用最先一个4位的长度标志整个PDU的长度。

    SMPP是一个国际标准,不同的SMC的是实现可能要增加特定参数,为了具备更好的扩展性,SMPP 3.4以上版本,增加了可选参数,在5.0中,可选参数叫做TLVTable。

    CMPP是中国移动定义的其内部ISMG之间、ISMG与SP之间的通讯标准,涉及一些具体的计费信息,但没有可选参数。

    在SMPP中,消息头包括4部分:PDU长度、Command_Id、Command_Status、Sequence_Id。其中Command_Status字段,只在回应消息中使用,存在冗余。

    CMPP中,消息头部包括3部分:PDU长度、Command_Id、Sequence_Id。个人认为,CMPP中的消息头,不包括Command_Status,似乎更好一些。

    消息传输模式

    SMPP和CMPP都支持异步传输,CMPP中,建议异步传输的窗口大小为16。

    CMPP使用一个连接发送短信息和接收短信息。

    SMPP支持多种的连接,其中TX类型的连接,只能发送短信息,RX类型的连接只能接收短信息,TRX类型的连接支持接收和发送短信息。

    SMPP 3.4中,消息传输模式分三中:Store And Forward、Datagram、Forward。分别用在大吞吐量、可靠性保证等不同的应用场合。

    CMPP没有规定其消息传输的模式,根据实际使用的情况看来,华为的网关的消息传输模式类似SMPP协议中规定的Datagram模式。

    Author: admin | Category: 架构设计
    Comments: 0

      对于软件架构这一概念,有太多的版本,目前在业界由大师级人物或组织提出的对这一概念的阐述就超过十种以上,我个人比较赞同RUP(Rational Unified Process)中对软件架构的定义,即软件架构包含了关于以下问题的重要决策:

      软件系统的组织;

      选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为;

      如何组合这些元素,使它们逐渐合成为更大的子系统;

      用于指导这个系统组织的架构风格:这些元素以及它们的接口,协作和组合。

      本文我们并不是要探讨软件架构的定义,只是想基于上面这种定义来谈谈在软件系统架构设计的过程中,我们会常常用到的一些“武器”。

      ●长生剑:UML(UML2)

      UML(Unified Modeling Language)这一建模语言已经成了软件设计人员的必备工具,几年前就曾有过“苦干年之后,不通UML者无法染指软件开发”的言论,虽然从目前来看,UML的应用还并未达到如此程度,但使用UML最大的好处在我看来就是减少了沟通的成本,让我们把一些想法能够很清晰直观的表达出来,在设计的过程中,使用得较多的是用例图,类图,组件图,部署图和时序图。当下,各种设计和建模工具对UML都有良好的支持,UML本身也是一门不断发展的语言,现在UML2已经成为主流。UML本身也极为简单,对于初学者来说可能有些概念比较难懂,可以结合实际的程序来理解,这样会事半功倍,但我认为也不会太高深,熟练使用就达到了应有的境界。

      剑谱:

      UML官方网站 http://www.uml.org/

      《UML基础、案例与应用(第3版)》,此书作为UML入门较为适合,书中也以详实案例来教会我们怎么使用UML。

      ●孔雀翎:Office

      架构设计的成果就是两项重要的产出物,一是框架代码,二是架构设计文档。在架构设计文档中,除了包括一些UML图之外,还有一些UML无法表示的图表,采用Office来制作和撰写这份文档再合适不过,最常用的就是Word,Excel和Visio。

      掌握这门“武器”不难,可利用这门武器把各类文档写好就难了,除了专业能力,良好的文字表达能力也是十分重要的,一个成熟的架构设计师在我看来应该也能写得一手好文章,最基本的要求就是能够准确的表达你想要表达的意思。

      秘籍:

      《Word排版艺术》,在大陆十分有名的台湾IT作家候捷的作品(之所以这样说是我曾经跟我们公司在台北的同事聊起过此人,几乎没人知道此人),此书一度借着他的名气卖得很火,因为他出书很多,在这方面也有很多优秀的经验,值得借鉴。

      ●碧玉刀:IDE(IBM RSA或Borland Together)

      通常我们所说的IDE(Integration Development Environment)是指集成开发环境,在这里我借用这个词,指的是集成设计环境。随着软件业的发展和进步,支持一整套开发流程的全系列软件越来越多,越来越好,这其中以IBM Rational Software Delivery Platform最为突出,RSA(Rational Software Architect)就是其中一项,作为建模工具,对领域模型的设计,UML及SOA(Service-Oriented Architecture)等都有较好的支持,同时可以与RMC(Rational Method Composer)结合,充分发挥MDA(Model Driven Architecture)的思想,把RUP流程发挥到极至。

      不过发现RSA也有不好用和不听话的时候,最新的RSA V7.0里面的反向工程就不是很好用,反向过来后很多关系消失了。

      Together作为老牌儿的建模工具,也有着先进的思想和设计,其核心包括四个方面:只维护单一模型库(Live Source技术);符合最小的元模型;扰乱改变模型;支持持续的质量测量。同时,对正反向工程也有良好的支援。也正是因为其有自己的思想和独特的一套,Borland公司也才会将其并入旗下。

      刀譜:

      IBM RSA之《教学指导》,Eclipse平台都有这东东,大家自己去发掘吧,通俗易懂。

      IBM RSA相关的Redbook(http://www.redbooks.ibm.com/),大名鼎鼎的红宝书,相信入行不久就一定会知道的(其实在大学的时候就人有看什么GRE的红宝书,TOEFL的红宝书,估计红宝书一词来源于此)

      《Getting Started Guide for Borland Together 2006 for Eclipse》官方教你怎么玩转Together,权威信不用质疑,英文版,但看起来并不难懂。

      ●多情环:架构设计类经典书籍

      架构设计类好书不多,但也不是没有,我也没有认真读过几本,但觉得有那么两本还值得推荐:《Pattern Of Enterprise Application Architecture》,Martin Flower的经典之作,几乎是架构设计人员的必读之书,详细论述了企业应用各layers上的模式和设计思想;《Large-Scale Software Architecture》,告诉你什么样的人才是架构师,然后以构件为粒度深入探讨架构的方方面面,同时用UML呈现,也是一份UML在架构设计中应用的最佳实践;《J2EE Core Pattern》,设计Java平台应用系统的经典参考书,对GOF(Gong Of Four)的设计模式在Java中的应用和扩展进行了深入的讨论,看看你的设计中可以运用其中的哪些核心模式。

      秘籍:

      有一套适合自己的学习知识的方法,对于IT行业的人来说,要看的书籍和资料远远超过其他行业,面对如此繁杂的知识,要有自己的方法学会去整理,要做到看必有收获,否则不如去温习古龙或是金老爷子的小说。我常常喜欢用Mind Manager等软件把读书笔记和心得记录下来,也常常回过头来看看这些笔记,以前喜欢手抄,信奉什么好记心不如乱笔头,但后来发现有些落后,不能与时俱进,方式肯定会被淘汰,人自然也会被踢出局。

      ●霸王枪:Internet/Intranet

      当今时代,离开网络这条枪对于IT从业人员来说寸步难行,大多公司目前都还没有自己完善的Intranet,公司知识库的资料与Internet的资源相比可谓是小巫见大巫,但千万不要忽视了公司通过SEPG(Software Engineering Process Group)或相似职能部门积累起来的知识,这些东西往往关注于行业,领域或适合于你所在公司的实际状况,从这个方面考虑的话,其力量超越Internet,是很好的模板。常常我们会遇到自己不能解决的问题,这个时候就需要去网上百度一下;在架构设计文档中,我总喜欢弄个术语表,而对于有些术语的解释,你会发现百度原来也是一本好辞典。

      枪谱:

      百度,谷歌

      利用搜索引擎,可以快速的获得自己需要的资料,大幅提高效率,也不至于让你淹死在浩如烟海的信息海洋中。

      之所以将百度写在前面,是因为我的个人习惯,常常在搜索的时候会优先考虑用百度,在百度搜不到的情况下才去谷歌,百度出来的大都是中文资料,对于母语是中文的人来说,会提高我们的阅读速度和理解效率,命中率较高,较好的分词技术,值得推荐。谷歌当然不错,相信不用多说。

      ●离别钩:评审

      邀请你公司的架构设计同行,资深技术专家,公司领导,或行业中的其他专家,还有你的PM(Project Manager),充分利用团队的力量,对于你所做的架构设计的初稿进行评审,在评审前先把重点部分,特别是你想跟大家一起讨论更好解决方式的部分整理成简单的演示文稿(PPT)发给大家,同时把详细资料也发给大家,请大家在有空的时候提前了解。在评审会议时,要先向与会人员介绍一下项目背景,需求,千万不要忘了非功能性需求(包括性能,安全,可扩展性等方面),然后再从重点的议题开始与大家一起讨论,这样可提高效率。

      秘籍:

      虚心听取各方面意见。评审时大家会提出各种各样的问题,有时候可能会提出各种让你很生气的问题,这个时候一定要克制住自己的情绪,虚心的听取他们提出的建议,对各种问题进行解释,让他们真正明白你的意思,同时也从他们那里获取有用的建议。

      ●拳头:激情

      这也是与人最密切相关的一样武器,拳头是你身体密不可分的一部分,激情也是你思想密不可分的一部分,要想把架构设计做好,有做好一件事的激情是必不可少的,你要对新知识,新技术充满好奇心,要有创新精神,在前人的基础上,结合自己的所学去进行一些小的创新,其实人类的进步也就是靠这样的一次次的小创新,以最大程度的确保架构的稳定性和可扩展性,同时也尽可能的提高程序开发的效率。

      秘籍:

      确定自己的发展方向就是做一个技术专家。如果你对自己的职业规划有一些想法,不妨可以考虑一下这个方向,国外的很多大师级的人物因技术牛而成就了卓越的事业,国内目前也有向这个方向发展的趋势。

      认为做一个技术专家与向管理方向发展并不冲突,技术专家也可以是管理行家,软件行业的很多人都是“技术优则管理”,否则你在管理者的位置上却不懂得基本的技术,在各方面都会遇到绊脚石,也没有人真正的服你。

      正如古龙所说,“武器是死的,人却是活的”。“武器”是否能令你觉得神奇刺激,主要还得看使用它的是什么人,虽然架构设计不是人人都可以做的,但我相信这几种武器通过大家自己的努力一定可以掌握。

    Author: yjs | Category: VPN
    Comments: 1

    苦苦寻找了好些日子,终于找到了一个可用的免费的VPN,经过测试,访问国外的网站完全没有问题,速度也还不错,本文就是通过这个免费的VPN连接发布的。

    工作原理

    Step 1,注册帐号,打开http://alonweb.com/,看到Create New Account,点击进去按照要求一步步的做就会注册一个帐号,非常简单,帐号注册成功后,会收到一封通知邮件。

    Step 2,安装OpenVPN软件, 如果是Linux用户,那么直接下载OpenVPN软件进行安装和配置就行了,通过Google可以找到很多howto文档,这里不再赘述;如果是M$ Windows用户,推荐使用OpenVPN-GUI,下载地址:http://openvpn.se/,安装和配置过程都很简单,可以参考Get Started!(地址:http://alonweb.com/node/3),大概步骤如下:

    Windows – using Alonweb OpenVPN bundle (recommended)

    First you need to download OpenVPN client installer by clicking here. It is malware and spyware-free open-source software. When the download is finished, you should run the installer with Administrator privileges.


    Click the “Next” button in the appeared window.


    Carefully read the license agreement. It does not restrict both private and commercial usage. Choose, whether you accept it or not.


    Choose the installation directory. Usually the default one will do. Click “Next”.


    Select the components you wish to install. If unsure, just click “Next”.


    Wait while the installation is in progress. Then click “Next”.


    When the installation is done, click “Finish”.

    Step 3,下载配置文件和证书,可参考下面的说明(Get Started!文档):

    Alonweb is just an OpenVPN server, so original OpenVPN software will work perfectly with it. You’ll need Alonweb certificate and configuration file, which you can download here and extract the contents of the archive to your configuration folder(您需要下载Alonweb的配置文件和证书,下载地址为:http://static.alonweb.com/downloads/alonweb.tar.gz,然后解压缩到配置目录,在默认安装情况下,配置文件路径为:C:\Program Files\OpenVPN\config).

    NB: If you’re using OpenVPN GUI by Mathias Sundman, you should change the extension of the config file from .conf to .ovpn, otherwise it won’t work.

    需要说明的是,如果使用的是Windows下的OpenVPN-GUI,并且默认安装到C:\Program Files\OpenVPN目录下,那么需要将下载的文件alonweb.tar.gz解压缩到C:\Program Files\OpenVPN\config目录下,解压完成后,将alonweb.conf改名为alonweb.ovpn,此时config目录下有alonweb.ovpn文件和alonweb.crt文件。

    Step 4,开始使用

    Using the Alonweb VPN service is very simple:


    Right-click the OpenVPN client icon in your system tray and select “Connect”.


    When asked, enter your Alonweb login and password.


    You will be prompted when the connection is established. Usually it takes less then five seconds to connect, however this value depends on your Internet connection speed and reliability.

    When the icon turns green, you may safely bypass your firewalls and restrictions.

    成功连接后,您可以通过IP Addess Lookup来查看获得的地址情况。alonweb

    关于安全:通过这种方式访问网络存在比较大的风险,alonweb可能会通过sniffer软件获取您的网络交互数据,这也就意味着,alonweb能得到您敏感信息,包括访问网站的情况、用户名及密码甚至银行帐号与密码等,请慎重考虑后再决定是否使用。

    如果不再需要使用VPN,那么通过同样的方式点击disconnect断开VPN即可恢复原来的网络连接。

    Author: admin | Category: DNS安全
    Comments: 0

      先扯一下,奥运渐渐进入高潮了,今天更是完成了无数超越。那么我也超越一下我的懒惰,随便写写 Blog 恢复一下状态。
      
      随着互联网的发展,漏洞这个词对广大网民来说已经不再是什么陌生的词汇了。而最近爆出的 DNS 漏洞恐怕是最有名也最危险的一个了。据说使用目前发布出来的攻击代码,几分钟就可以生成几万个伪造的 DNS 解析,从而把用户“调”到危险的站点中。
      
      其实对于 DNS 漏洞,我们普通用户唯一的解决方案就是使用一个安全的 DNS 解析服务器。但什么是安全的 DNS 还真是很难界定。今天介绍这个 Web 界面的 DNS 漏洞测试工具就是个不错的方案。您只需要访问这个网站,点击页面中的 Test My DNS,稍等片刻即可知道你的 DNS 是否安全。结果就像下图所示。

      
      我使用的是 OpenDNS,安全性确实不错,都达到了 Great。而当我将 DNS 服务器换成网通 ADSL 自动分配的 DNS 服务器时,我真是彻底被雷到了,结果竟然是一个 Great 一个 Poor。看来网通很多的 DNS 服务器还没有打补丁或是做相应的漏洞修复工作,使用这样的 DNS 还是相当危险的。
      
      您不妨也用这个东西测一下您正在使用的 DNS。当然,如果您测出 Poor 的话也不用担心,换用 OpenDNS 就是个很好很简单的解决方案。具体方法是在你的网络连接(或路由器)中,将 DNS 由自动改为 208.67.222.222,就可以用上安全的 DNS 了。

    Author: yjs | Category: DNS安全
    Comments: 0

      DNS软件是黑客热衷攻击的目标,它可能带来安全问题。这里是一些保护DNS服务器最有效的方法。

      1.使用DNS转发器

      DNS转发器是为其他DNS服务器完成DNS查询的DNS服务器。使用DNS转发器的主要目的是减轻DNS处理的压力,把查询请求从DNS服务器转给转发器, 从DNS转发器潜在地更大DNS高速缓存中受益。

      使用DNS转发器的另一个好处是它阻止了DNS服务器转发来自互联网DNS服务器的查询请求。如果你的DNS服务器保存了你内部的域DNS资源记录的话, 这一点就非常重要。不让内部DNS服务器进行递归查询并直接联系DNS服务器,而是让它使用转发器来处理未授权的请求。

      2.使用只缓冲DNS服务器

      只缓冲DNS服务器是针对为授权域名的。它被用做递归查询或者使用转发器。当只缓冲DNS服务器收到一个反馈,它把结果保存在高速缓存中,然后把 结果发送给向它提出DNS查询请求的系统。随着时间推移,只缓冲DNS服务器可以收集大量的DNS反馈,这能极大地缩短它提供DNS响应的时间。

      把只缓冲DNS服务器作为转发器使用,在你的管理控制下,可以提高组织安全性。内部DNS服务器可以把只缓冲DNS服务器当作自己的转发器,只缓冲 DNS服务器代替你的内部DNS服务器完成递归查询。使用你自己的只缓冲DNS服务器作为转发器能够提高安全性,因为你不需要依赖你的ISP的DNS服务 器作为转发器,在你不能确认ISP的DNS服务器安全性的情况下,更是如此。

      3.使用DNS广告者(DNS advertisers)

      DNS广告者是一台负责解析域中查询的DNS服务器。例如,如果你的主机对于domain.com 和corp.com是公开可用的资源,你的公共DNS服务器就应该为 domain.com 和corp.com配置DNS区文件。

      除DNS区文件宿主的其他DNS服务器之外的DNS广告者设置,是DNS广告者只回答其授权的域名的查询。这种DNS服务器不会对其他DNS服务器进行递归 查询。这让用户不能使用你的公共DNS服务器来解析其他域名。通过减少与运行一个公开DNS解析者相关的风险,包括缓存中毒,增加了安全。

      4.使用DNS解析者

      DNS解析者是一台可以完成递归查询的DNS服务器,它能够解析为授权的域名。例如,你可能在内部网络上有一台DNS服务器,授权内部网络域名 internalcorp.com的DNS服务器。当网络中的客户机使用这台DNS服务器去解析techrepublic.com时,这台DNS服务器通过向其他DNS服务器查询来执行递归 以获得答案。

      DNS服务器和DNS解析者之间的区别是DNS解析者是仅仅针对解析互联网主机名。DNS解析者可以是未授权DNS域名的只缓存DNS服务器。你可以让DNS 解析者仅对内部用户使用,你也可以让它仅为外部用户服务,这样你就不用在没有办法控制的外部设立DNS服务器了,从而提高了安全性。当然,你也 可以让DNS解析者同时被内、外部用户使用。

      5.保护DNS不受缓存污染

      DNS缓存污染已经成了日益普遍的问题。绝大部分DNS服务器都能够将DNS查询结果在答复给发出请求的主机之前,就保存在高速缓存中。DNS高速缓存 能够极大地提高你组织内部的DNS查询性能。问题是如果你的DNS服务器的高速缓存中被大量假的DNS信息“污染”了的话,用户就有可能被送到恶意站点 而不是他们原先想要访问的网站。

      绝大部分DNS服务器都能够通过配置阻止缓存污染。Windows Server 2003 DNS服务器默认的配置状态就能够防止缓存污染。如果你使用的是Windows 2000 DNS服务器,你可以配置它,打开DNS服务器的Properties对话框,然后点击“高级”表。选择“防止缓存污染”选项,然后重新启动DNS服务器。

      6.使DDNS只用安全连接

      很多DNS服务器接受动态更新。动态更新特性使这些DNS服务器能记录使用DHCP的主机的主机名和IP地址。DDNS能够极大地减轻DNS管理员的管理费用 ,否则管理员必须手工配置这些主机的DNS资源记录。

      然而,如果未检测的DDNS更新,可能会带来很严重的安全问题。一个恶意用户可以配置主机成为台文件服务器、Web服务器或者数据库服务器动态更新 的DNS主机记录,如果有人想连接到这些服务器就一定会被转移到其他的机器上。

      你可以减少恶意DNS升级的风险,通过要求安全连接到DNS服务器执行动态升级。这很容易做到,你只要配置你的DNS服务器使用活动目录综合区 (Active Directory Integrated Zones)并要求安全动态升级就可以实现。这样一来,所有的域成员都能够安全地、动态更新他们的DNS信息。

      7.禁用区域传输

      区域传输发生在主DNS服务器和从DNS服务器之间。主DNS服务器授权特定域名,并且带有可改写的DNS区域文件,在需要的时候可以对该文件进行更新 。从DNS服务器从主力DNS服务器接收这些区域文件的只读拷贝。从DNS服务器被用于提高来自内部或者互联网DNS查询响应性能。

      然而,区域传输并不仅仅针对从DNS服务器。任何一个能够发出DNS查询请求的人都可能引起DNS服务器配置改变,允许区域传输倾倒自己的区域数据 库文件。恶意用户可以使用这些信息来侦察你组织内部的命名计划,并攻击关键服务架构。你可以配置你的DNS服务器,禁止区域传输请求,或者仅允 许针对组织内特定服务器进行区域传输,以此来进行安全防范。

      8.使用防火墙来控制DNS访问

      防火墙可以用来控制谁可以连接到你的DNS服务器上。对于那些仅仅响应内部用户查询请求的DNS服务器,应该设置防火墙的配置,阻止外部主机连接 这些DNS服务器。对于用做只缓存转发器的DNS服务器,应该设置防火墙的配置,仅仅允许那些使用只缓存转发器的DNS服务器发来的查询请求。防火墙策略设置的重要一点是阻止内部用户使用DNS协议连接外部DNS服务器。

      9.在DNS注册表中建立访问控制

      在基于Windows的DNS服务器中,你应该在DNS服务器相关的注册表中设置访问控制,这样只有那些需要访问的帐户才能够阅读或修改这些注册表设置。

      HKLM\CurrentControlSet\Services\DNS键应该仅仅允许管理员和系统帐户访问,这些帐户应该拥有完全控制权限。

      10.在DNS文件系统入口设置访问控制

      在基于Windows的DNS服务器中,你应该在DNS服务器相关的文件系统入口设置访问控制,这样只有需要访问的帐户才能够阅读或修改这些文件。

      %system_directory%\DNS文件夹及子文件夹应该仅仅允许系统帐户访问,系统帐户应该拥有完全控制权限。

    Author: yjs | Category: DNS安全
    Comments: 0

      自5月19日21:50开始,江苏、安徽、广西、海南、甘肃、浙江等六省用户申告访问网站速度变慢或无法访问,目前六省网络已经恢复正常。

      5月20日,工业和信息化部通信保障局召集国家计算机应急处理协调中心、电信研究院、中国电信集团、暴风影音等参加紧会议,经查明,事故原因是系DNS域名解析故障,网络故障造成多家网站受到影响。

      工业和信息化部领导指出,此次事件暴露出域名解析服务成为目前网络安全的薄弱环节,指示各单位要加强对域名解析服务的安全保护,“举一反三,消除隐患,防止类似情况发生。进一步加强网络安全的监测预警和信息通报工作,完善应急预案,确保网络安全运行。”

      据悉,此次被攻击的dnspod公司已经向有关方面报案。将追究此次重大故障的责任人的法律责任。此次攻击导致dnspod公司所属的6台 dns域名解析服务器瘫痪,直接造成包括暴风影音在内的多家网络服务商的域名解析系统瘫痪,由此引发网络拥塞,造成大量用户不能正常上网。

      dnspod是国内着名的域名解析服务商,大量网站在使用dnspod的域名解析服务,其中包括数家知名网站。

    Author: yjs | Category: DNS安全
    Comments: 0

      商报讯 导致6省用户出现网络故障的DNS Pod公司昨日对记者透露,正在准备资料,将于今日向公安部门报案,追究此次重大故障责任人的法律责任。根据该公司推测,导致此次6省网络事故的罪魁祸首很可能就是网络游戏私服。

      5月19日21时50分开始,江苏、安徽、广西、海南、甘肃、浙江等6省用户申告访问网站速度变慢或无法访问。DNS Pod公司负责人吴洪声在接受记者采访时表示,此次事故从某种意义上完全是一场“蝴蝶效应”。

      最开始可能仅仅是一家网游私服不择手段为了争夺玩家,而攻击另外一家私服。黑客在没法黑掉竞争对手网站的情况下,干脆从域名下手,对DNS Pod的服务器进行了狂轰滥炸。这导致中国电信方面检测到异常的网间流量,从而启动应急机制。

      不幸的是这台被攻击的DNS服务器正在为大约10万家网站提供域名解析服务。这其中有Very cd、中国站长、4399.com等知名网站,而最出名、流量最大的恰恰是暴风影音。网民同时向以暴风影音为首的10万个网站的访问请求随即演变为一场灾难。由于吴洪光的DNS服务器已经瘫痪,而用户的请求集体转向中国电信的DNS解析服务器,从而导致电信服务器很快就瘫痪了。这样的效应逐步扩大,最终导致“5·19”全国南方6省网络瘫痪的重大事故。

      因此,此次事故最大元凶很可能就是网游私服。据知情人士透露,有的网游私服每月大概要花费200万-300万元去购买中了木马病毒的“肉鸡”电脑。操纵这些中了木马的电脑去攻击其竞争对手。这种灰色产业链严重影响中国的网络安全。

      360安全专家石晓虹对记者表示:“此次事件给网络安全行业乃至全社会敲了一次警钟。可以说,如今的互联网其实是很脆弱的,整个网络架构决定了,一旦DNS的服务器出现问题,后果会异常严重。互联网安全水平亟待提高。”

      另外据吴洪声透露,这10万家网站域名解析服务还需要一两天才能全部恢复,不过他现在最担心的一件事就是这么多网站未来可能对其提出的赔偿要求。

    Author: yjs | Category: p2p技术
    Comments: 0

    P2P是peer-to-peer的缩写,peer在英语里有”(地位、能力等)同等者”、”同事”和”伙伴”等意义。因此,P2P也就可以理解为” 伙伴对伙伴”的意思,或称为对等联网。P2P技术自面市以来一直受到广泛的关注。最近几年,P2P技术更是发展迅速。目前,业界对P2P的定义还没有一个标准的说法,Intel将P2P技术定义为”通过系统间的直接交换达成计算机资源与信息的共享”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。IBM则对P2P赋予了更广阔的定义,把它看成是由若干互联协作的计算机构成的系统并具备如下若干特性之一:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。

    简单地说,P2P技术是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术,其网络通信方式如图一所示。它打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。由于P2P技术的飞速发展,互联网的存储模式将由目前的”内容位于中心”模式转变为”内容位于边缘”模式,改变Internet现在的以大网站为中心的状态,重返”非中心化”,将权力交还给用户。

    目前,在网络电视、文件共享、分布式计算、网络安全、在线交流甚至是企业计算与电子商务等应用领域P2P都显露出很强的技术优势。简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。

    P2P的本质思想是,整个网络中不存在中心节点(或中心服务器)。在P2P结构中,每一个节点(Peer)大都同时具有信息消费者、信息提供者和信息通讯者等三方面的功能,在P2P网络中每一个节点所拥有的权利和义务都是对等的。在P2P工作方式中,每一个客户终端既是客户机,又是服务器。它弱化了服务器的作用,将信息数量、成本资源都向互联网各点均匀分布,也就是所谓的”边缘化”的趋势,消除了单个资源带来的瓶颈,可以控制和实现网络上各节点的负荷平衡。P2P技术不仅能利用服务器的资源,同时能合理地使用用户计算机的空闲资源。用户在享受媒体节目的同时,也在利用自身计算机所空闲的资源为其他用户提供着服务。所以,使用P2P技术提供高质量和大容量的流媒体服务系统成为可能。

    P2P技术在网络电视中的应用

    IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。 IPTV既不同于传统的模拟式有线电视,也不同于经典的数字电视。传统的和经典的数字电视都具有频分制、定时、单向广播等特点;尽管经典的数字电视相对于模拟电视有许多技术革新,但只是信号形式的改变,而没有触及媒体内容的传播方式。

    IPTV关键技术

    IPTV是利用计算机或机顶盒+电视完成接收视频点播节目、视频广播及网上冲浪等功能。它采用高效的视频压缩技术,使视频流传输带宽在800Kb/s时可以有接近DVD的收视效果(通常DVD的视频流传输带宽需要3Mb/s),对今后开展视频类业务如因特网上视频直播、远距离真视频点播、节目源制作等来讲,有很强的优势,是一个全新的技术概念。IPTV的特点及应用 IPTV是利用宽带有线电视网的基础设施,以家用电视机作为主要终端电器,通过互联网络协议来提供包括电视节目在内的多种数字媒体服务。

    随着P2P研究的进一步深入, P2P技术可以设计一个运营商级的音视频业务系统,采用P2P技术的播放软件成就了网络电视的发展。P2P既代表一种新技术,也映射着一种新文化,从技术角度来说,它用Peer与Peer的对等沟通,打破了目前网络流行的C/S主从模式,是对互联网应用技术的创新,也是互联网本质的回归。P2P受到了广大网民的喜爱,目前主要的应用的网络电视下载有PPStream、沸点网络电视、TVKoo、猫眼网络电视、QQ直播;影视歌曲下载类的bt、百宝、酷狗 (KuGoo)、电骡(eMule)等;通信类的Skype等。网络电视的发展吸引了众多的网民,它可以为用户提供极为丰富的业务,如VoD点播、互联网浏览、电子邮件、多种在线信息咨询、游戏、个人视频录制、电子商务、VOIP、即时通信IM等。P2P技术在网络电视领域中更是如鱼得水,主要体现在以下几方面:

    (1)文件交换,资源共享:在传统的WEB方式中,实现文件交换必须要通过服务器,通过把文件上传到某个特定网站,用户再到该网站搜索需要的文件,然后下载,这种方式需要WEB服务器能够对大量用户的访问提供有效服务。而P2P模式下,用户可以从任何一个在线用户的计算机中直接下载,从而真正实现了个人计算机与服务器的对等。

    (2)在线交流,即时通讯:通过使用P2P客户端软件,用户之间可以进行即时交谈,可以就网络节目进行讨论,从而实现实时互动。这样既增加了用户收看网络电视的积极性,又促进了媒体提供者和媒体消费者之间的互动。

    (3)快捷搜索,对等连接:P2P网络模式中节点之间的动态而又对等的互联关系使得搜索可以在对等点之间直接地、实时地进行,既可以保证搜索的实时性,又超越传统目录式搜索引擎的深度、速度、幅度。
    传统的流媒体服务大都是客户/服务器(C/S)模式如图二所示,即用户从流媒体服务器点击观看节目,然后流媒体服务器以单播方式把媒体流推送给用户。当流媒体业务发展到一定阶段后,用户总数大幅度增加,这种C/S模式加单播方式来推送媒体流的缺陷便明显地显现出来(如流媒体服务器带宽占用大、流媒体服务器处理能力要求高等),带宽、服务器等常常成为系统瓶颈,系统的可扩展性差。而通过P2P技术引入到流媒体传输中而形成的P2P流媒体技术,具有如下优点:首先,这种技术并不需要互联网路由器和网络基础设施的支持,因此性价比高且易于部署;第二,在这种技术中,流媒体用户不只是下载媒体流,而且还把媒体流上载给其他用户,因此,这种方法可以扩大用户组的规模,且更多的需求也带来了更多的资源。同时相对于互联网上众多计算机,P2P应用比其他应用要更多考虑那些低端PC的互联,它们不具备服务器那样强的联网能力,同时对于以往的P2P应用技术,现在的硬件环境已经更为复杂,这样在通信基础方面,P2P必须提供在现有硬件逻辑和底层通信协议上的端到端定位(寻址)和握手技术,建立稳定的连接。涉及的技术有IP地址解析、NAT路由及防火墙。目前互联网主要技术模式是S/C方式,此方式要在互联网上设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且要安装多样化的服务软件,在集中处理数据的同时可以对互联网上其他PC进行服务,提供或接收数据,提供处理能力及其他应用。对于一台与服务器联机并接受服务的PC机来说,这台PC机就是客户机,其性能可以相对弱小。而P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。

    S/C方式造成互联网络上的集中,无论信息资源还是成本资源均向同一方向集中,这样的模式符合一对多、强对弱的社会关系形式,如政府对个人、对企业,大企业对小企业,学校对学生,企业对职工等等关系。虽然”客户/服务器”模型是目前互联网上占统治地位的计算模型,但从某种意义来说,P2P计算可以说是一种向传统互联网技术的回归,体现了互联网的本质,因为互联网最初的设计目标就是让网络上的计算机互相之间可以直接通信而不需要中介。

    Author: yjs | Category: p2p技术
    Comments: 0

    skype的本质也是使用的voip技术。所以它也必须实现通常voip的协议栈,和满足在internet上实施语音通信的一般性标准。

    考虑到internet的一般特点,它本身不是一个适合语音通信的网络。

    数据应用 无音频和视频
    自适应选路 分组到达的顺序可能会改变
    无连接 无固定电路连接
    best effort 如果发生问题,可能会导致信息丢失

    针对以上internet作为一个数据网的基本特点,想要在其上实施语音分组交换业务,一般的性指导原则大致如下(对所有的 voip 适用,不只是 skype):

    1. 减少分组时延,和时延抖动:

    时延是指数据包从发送端到接受端的时间花费,抖动则是花费时间的变化

    2.带宽要求

    因为传输语音信号除了本身语音信号,还包含l_2, ip报文,udp报文段,应用层协议的首部,此外包含语音编码器的首部。so, 可以看出skype的公司所使用的比较优化的语音编码方法可以使得它这个层面上占优。当然,这不是问题的关键。

    3.减少计算量

    这个指标在此比较中无较大的意义。

    4.减少 rtt ( round-trip time ): 包括在两个方向上的传输的时间和节点处理的时间,研究表明语音通信最好的rtt要小于 300 ms

    5. 跳距:从发送端到接受端经过了多少跳。跳数越大,时延越大,时延的抖动越大。这和路由器对数据包的处理有关系(负载)。同时距离对时延的影响相对的很小了。但是一般来说又不需要固定的路由,因为“路由信息很少在通话的期间改变”,这是路由算法所决定的。

    6.短包:因为语音编码器在帧长为 10~30 ms 的时候所产生的 数据包的大小为10~30个字节。同时短包减少了丢包对语音信号的信号的影响。但是短包都增加了路由器的负荷和重组的时间,这之间是一个 trade-off

    7. 使用udp作为传输层协议,因为udp的本质和语音通信比较接近。

    从具体应用的层面研究性能

    1.错误容限

    研究表明:当偶发性的丢包率不超过10%的时候,就不会严重影响通话的质量

    2.时延容限

    语音分组的双向时延的必须是恒定的同时还要小于300ms

    双向时延 = a 语音传递到 b + b 听到 a 的声音 + b开始讲话 + a 听到 b的声音

    3.vbr 数据流到 cbr的平滑过渡

    1. 在传统的ip phone中使用voip网关来提供语音/数码的转换的功能。发送端voip网关使用的低速率声码器和其他的特殊的硬件对语音进行编码,压缩,然后封装成语音数据包(ip数据包)。这种结构支持传统的电话网络业务:telco中心局把信号编码为 64kbps的ds0信号,然后,语音编码器把ds0信号编码成6 ~ 8kbs的telco信号放到路由器上传输。

    2. 在skype使用的通信模型中,编码,压缩,封装都是由pc完成。可以想见,饶开了通过voip的集中处理(端到端的直接通信减少了路由跳数,以及服务器的压力等因素影响)

    同时,同一般的 voip 6~8 kbps的数据传输量相比较,skype所支持的3 ~ 16kbps的数据传输量无疑可以提供更高的语音还原效果。但是,以前我所提供图片中指出skype的通话质量比其他的通信方式要好2倍以上也不是绝对的,还要受到具体的网络环境的影响。

    基于以上讨论,可以认识,“整体是由部分组成的”,skype的通信质量的提高不是单一某个方面所导致的,而是所有方面共同作用的结果。其中 peer 和 peer 之间直接通信方式,可以在减少 “跳距”,减少voip网关的负荷(数据包直接到路由器),增加的数据传输量,这三个关键性因素起到重要作用。但是,也不可忽视“语音编码”技术所带来的好处。

    补充:

    1. 电话网络的优点:

    1/ 呼叫建立阶段说话方和受话方之间的传输的路径是固定的。

    2/ 电话交换没有排队的问题。语音信号是在ds0(tdm时隙)时分复用。直接从交换机的输入接口传输到预先设定的输出接口相应ds0时隙中。

    因此电路交换所提供的是固定的路径和固定的时延。

    而分组交换网络则不提供固定的路径和固定的时延。

    2.通过分析数据包的大小对voip提出的一般性解决措施:

    1/ 使用较短的数据包来传输对语音业务非常重要

    a.因为在短的包中包含重要的信息的概率比较小,发生丢包的现象对质量的影响不大

    具体的数据是: 10~30字节 而网络上其他的包所采取的大小主要是175~400字节

    b.因为短包可以使得处理节点可以快速的检查,处理小单元信息

    2/ 但是也不能使得包的长度过小,使得包的数量增加;

    产生问题的原理是路由器在解析大小不同的包负载是一样的。实际的解决方案是在一个数据包中实现 2~3个语音样本,大致是20~60字节。

    以上问题的解决方案:sonet(同步光纤网)和千兆未路由器

    3.为什么不采取tcp传输层协议?

    因为tcp的全部传输层时延是400~500ms,超过了voip所需要的rtt

    语音网络具有和数据网不同的设计理念,语音网络支持的同步的实时同步业务,而且要求发送端和接受端之间的时延为固定值:

    所必须要克服的困难:

    1/ 减少时延
    2/ 减少时延抖动
    3/ 降低数据丢包率

    所以通常选择udp和ip协议来作为其传输层和网络层的协议。

    Top
    RSS for entries