麻烦给讲讲windows下tcp/ip与netbios的关系。如果说是两个独立的协议,那与netbios有关的139端口是怎么回事?有人说是用tcp/ip模拟netbios,这句话什么意思?有netbios头的数据包是如何进入ip协议栈的?

解决方案 »

  1.   

    我的理解netbios 网络基本输入输出系统,有许多传输协议都支持netbios, 如tcpip, netbeui.139是netbios会话服务的服务端口。用于与客户建立会话。关于 netbios头的数据包是如何进入ip协议栈 我也不知道。
      

  2.   

    NetBIOS有它独立的网络机器命名系统,它和TCP/IP命名的域名不是一回事,这个名称就是在“网络”对话框的“标识”标签中的“计算机名”。通过“网上邻居”检查网上资源时,用的是NetBIOS命名体系,直观看就是计算机图标旁的计算机名。Lotus Notes采用的是NetBIOS命名系统,《解决Notes与DNS打架问题》一文中谈到的NT服务器名称“SERVER”与工作站名称“ZYM”都是NetBIOS命名。   当NetBIOS下层协议使用TCP/IP时,由于NetBIOS是用机器名来寻址,而TCP/IP是使用IP地址寻址,故必须通过某种途径使这二者对应起来。WINS是用于把NetBIOS名称解析为IP地址的服务器。当支持WINS功能的工作站启动时,它就会主动将这台主机的“计算机名”与IP地址加入到WINS服务器的数据库中,即向WINS服务器注册登记。
      

  3.   

    也就是说netbios与TCP,UDP等都是位于传输层?
      

  4.   

    并不是只有tcp/ip有端口的概念,netbios也有;netbios与tcp/ip是两个没有任何关系的协议组,各自有自己的格式与功能。微软的系统对tcp/ip进行了处理,在tcp/ip上可以支持netbios,而象unix里就没有机器名这一说法,它没有netbios协议。
      

  5.   


      Windows网络编程
      第一章
      

  6.   

    我的理解
    在Windows中,TCP/IP是NetBios的承载。
    其他操作系统不一定了。
      

  7.   

    TCP/IP是通用的啊,不是针对个别os的啊
      

  8.   

    Up
    我想Tcp/Ip是最基本的,Netbios吗?应该是在其上的另一种协议吧!
      

  9.   

    我理解为如果装有tcp/ip和netbios协议,会把tcp/ip作网络层,netbios作上层。如果只装netbios,则每层都是netbios。但有个高手说,装了tcp/ip也不一定用tcp/ip作网络层协议。到底是一种是什么情况啊?
      

  10.   

    See the article below, FYI: http://www.codeproject.com/internet/tcpscan.asp
      

  11.   

    狠狠心,又装上98(我会用的包分析器只能在98下用,用VXD),发现netbios位于tcp/ip的应用层。但又发现一个问题,我把tcp/ip协议删除了,但netbios的包还是用tcp/ip协议封装。这是怎么会事?
      

  12.   

    我也理解
    在Windows中,TCP/IP是NetBios的承载。
    其他操作系统不一定了。
      

  13.   

    我看见一篇文章说,netbios不安全,而且有netbui(还是netbiu什么的?:)),就不用netbios了.可是点掉netbios前的对号后,网络就不通了.不懂!
      

  14.   

    星号和三角形是什么意思?还有up,gz又是什么意思?见笑啦!i am a new comer!—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
    ┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  15.   

    sorry,应该是接收了数据包以后,IP协议栈的数据包还照样存在呢,还是被清除?
      

  16.   

    给你推荐一本书:《Windows网络编程技术》
      

  17.   

    [email protected],[email protected]
      

  18.   

    TCP/IP 上的 NetBIOS 
    NetBIOS 定义了一个软件接口和命名规则,而不是一个协议。Microsoft 网络产品的早期版本仅向 NetBEUI 局域网协议提供 NetBIOS 应用程序编程接口。NetBEUI 是一个小型而快速的协议,它没有网络层;因此,它是不可路由的,通常不适用于 WAN 实现。NetBEUI 使用广播进行名称解析和服务查找。TCP/IP 上的 NetBIOS 提供 TCP/IP 协议上的 NetBIOS 编程接口,将 NetBIOS 客户和服务器程序的使用范围扩展到 WAN,并提供与各种操作系统的互操作性。 Workstation 服务、Server 服务、浏览器、Messenger 和 NetLogon 服务均是 NetBT(直接的)客户程序。这些服务使用 TDI(在本文前面已讲述)与 NetBT 进行通讯。Windows NT 和 Windows 2000 还包含一个 NetBIOS 仿真器。仿真器从 NetBIOS 应用程序中获取标准 NetBIOS 请求,并将它们解释为等同的 TDI 原语。 Windows 2000 仍然使用 TCP/IP 上的 NetBIOS 与 Windows NT 的早期版本或其它客户程序(如 Windows 95 )进行通讯。但是 Windows 2000 重定向器和服务器组件目前还支持“直接宿主”,与其它运行 Windows 2000 的计算机进行通讯。直接宿主使用 DNS 进行名称解析。不使用 NetBIOS 名称解析(WINS 或广播),并且协议更简单。直接宿主 TCP 使用端口 445,而不是 NetBIOS TCP 端口 139。 默认情况下,NetBIOS 和直接宿主均启用,当建立新的连接时,并行地使用这两种方式进行连接。连接最先成功的方式用于以后的其它连接。可以禁用 NetBIOS 支持以强制所有通信均使用直接宿主方式。 在 Windows NT 和 Windows 2000 中,TCP/IP 上 NetBIOS 的实现称为 NetBT。NetBT 使用以下 TCP 和 UDP 端口: UDP 端口 137(名称服务) 
    UDP 端口 138(数据报服务) 
    TCP 端口 139(会话服务) 
    在 RFC 1001 和 RFC 1002 中对 TCP/IP 上的 NetBIOS 进行了详细阐述。NetBT.sys 驱动程序是一个内核模式的组件,它支持传输驱动程序接口 (TDI)。使用 TDI 调用 NetBT 是比较困难的编程任务,但提供更高的性能,并且不受传统 NetBIOS 的限制。NetBIOS 概念将在本文“网络应用程序接口”一节作进一步讨论。 传输驱动程序接口 (TDI)
    Microsoft 开发了传输驱动程序接口 (TDI),与现有的 NetBIOS 和 Windows Sockets 等接口相比,它提供了更大的灵活性和更好的功能。所有 Windows 传输提供程序们都支持 TDI。TDI 规范描述了传输驱动程序和 TDI 客户机通讯用到的一组基本功能以及访问它们所使用的调用机制。目前,TDI 仅用于内核模式。 Windows 2000 重定向器和服务器均直接使用 TDI,而不经过 NetBIOS 映射层。这样,它们就不再受 NetBIOS 的许多限制了,例如旧式的最多 254 个会话的限制。