前些日子在这里看了一个关于dcom在internet上应用的问题,主要是讲dcom的底层使用rpc协议,客户端用135端口向scm请求,scm再在1024-65535间动态分配端口给具体的服务提供者,从而使客户端和服务器端建立dcom连接。这就使得dcom很难再internet上使用(除非防火墙将所有的端口都开放)。但后来又在msdn上看了一片关于com internet service(cis)的文章,说可以通过隧道tcp使dcom连接通过http的80端口进行连接。可以解决上述问题。小子不才,实用中已经实现了,但理论上搞不明白,隧道tcp和通常vpn中的网络隧道技术有关系吗?隧道tcp的具体实现过程怎样?各位大虾,如有这方面的资料提供,不胜感激。

解决方案 »

  1.   

    <<COM+技术大全>>里有讲到这个问题,你自己看看吧,RICHARD C。。写的
      

  2.   

    就是因为<<COM+技术大全>>讲的太浅了,我才到这里来的,
    我想问:按照书上讲,隧道tcp只在dcom连接开始时进行了一次基于http的握手,随后就跟http美关系了,但它的全部数据都是通过80口走的阿;iis是否就是一个rpc代理的作用,他和dcom服务器之间怎么运作。隧道tcp和通常讲的第二层隧道技术和第三层隧道技术有无联系
      

  3.   

    COM+技术大全>>电子版可有?
      

  4.   

    基本上你说的这些东东的实现就是用SocketConnection(把端口改成80就是了),SOCKETCONNECTION就是用TCP Tunnel实现DCOM的,还有一种用HTTP Tunnel的,就是WebConnection了。这个TUNNEL和VPN用的底层TUNNEL不同,这些都是高层的TUNNEL,具体哪层我也不太清楚,估计要到四层以上了。
      

  5.   

    不好意思,还是等到 Raptor(猛禽) 兄来回答了我就是想刨个根,我觉着那种方法通过http的80端口走,又用iis做dcom服务器的代理服务器,到更像是一种用HTTP Tunnel的,不知道Raptor(猛禽) 兄怎么看
      

  6.   

    这些Tunnel要比VPN 更虚拟了 :)
    没办法 现在的核就是Dcom,怎么Tunnel本质也改变不了不知道楼主说的socket tunnel用的是http是从什么地方看到的,
    摩托固陋,能不能给个连接 .好像没有iis,也可工作吧?! 汗.......其实Dcom这东西实在.... .net平台上的remoting 从本身上看也是
    tunnel,不过 .net中的核要比Dcom灵活 ,其与webservice的
    无缝连接,接口很统一~~仔细看看,都是差不多rpc技术,微软为了$,给了各种各样的外衣~~~
      

  7.   

    从80端口走不一定就是HTTP,要看它走的内容,或者年服务端,如果需要IIS之类的WEBSERVER的,就是HTTP TUNNEL,否则就是TCP TUNNEL
      

  8.   

    用CIS的话,走的就是HTTP协议,所有数据包都一样,从握手到数据传输。
      

  9.   

    del_c_sharp(摩托~◎~◎~◎) 
     http://www.microsoft.com/china/msdn/technic/develop/ii/0509b.asp
     好像没有iis,也可工作吧
    你是怎么做的?根据这篇文章,我觉得他应当是http做隧道的承载协议,dcom做隧道的被承载协议,cis就是本层的隧道协议,但根据名字,又好像是tcp做承载协议,所以我就感到疑惑,
      

  10.   

    这篇文章看了,MS的翻译真是太业余了,不敢恭维。我的理解是这样的:
    起先我也以为是用HTTP握个手后用TCP
    但后来一想,这样不行啊,因为IIS已经BIND 80了,RPC PROXY应该不可能再BIND 80吧
    再一想,也有可能,只要把RPC PROXY做到IIS里就行了所以CIS应该是一种用HTTP TUNNEL和TCP TUNNEL结合的东东,用HTTP建立连接后,用TCP传数据,这样在性能上会比WEBCONNECT的纯HTTP TUNNEL要好很多