关于打印机的网络连接设置的一些记录

今天接到VIP客户的报修,主要是说局域网内部分工作站出现打印延迟或打印不出的情况,经过排查发现出下该类故障的工作均为采用了WSD端口或NETBIOS方式连接打印机,采用该类方式的工作并不是说不能打印而是偶尔不行或部分不行,不由引发我的兴趣想更深入的了研究关于这二个方式和TCP/IP连接打印机上的区别和为什么会产生这类问题的原因。

首先我们先来看看这二个方式分别是怎么一会事:


一、NetBIOS名称解析


我们在使用打印机或者其他设备共享的时候,常会用到ip/tcp协议下的netbios名称表协议,在局域网内部使用NetBIOS协议可以让我们方便地实现消息通信及资源的共享,给我们带来的许多的便利,但在广域网的使用过程中,很多人都不清楚netbios名称与主机名有什么区别?

  
netbois表

  NetBIOS(Network BasicInput Output System,网络基本输入输出系统),是种应用程序接口(API),系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,NetBIOS名称是用于表示网络上的NetBIOS资源的16字节地址,其中前15个字节代表计算机名称,第16字节用于表示服务,如果用户的计算机名称不足15字节,系统会补上相应的空格,并且它在同网络上是唯的。

  
  主机名就是计算机的名字(计算机名),网上邻居就是根据主机名来识别的,这个名字可以随时更改,从我的电脑属性的计算机名就可更改。因特网上的主机或Web站点由主机名识别。主机名有时称为域名。主机名映射到IP地址,但是主机名和IP地址之间没有对关系。

主机名

  当Web客户机发出到主机的HTTP请求时,使用主机名。发出请求的用户可能会指定服务器的IP地址,而不是主机名,但现在这在因特网上不常见。对于用户来说,主机名比数字IP地址更方便。公司、组织和个人常常选择其Web站点的主机名,用户能很容易地记住这些主机名。
  
  因为NetBIOS占用系统资源少、传输效率高,尤为适于由20到200台计算机组成的小型局域网。所以微软的客户机/服务器网络系统都是基于NetBIOS的。当安装TCP/IP协议时,NetBIOS也被Windows作为默认设置载入,我们的计算机也具有了NetBIOS本身的开放性,139端口被打开。某些别有用心的人就利用这个功能来攻击服务器,使管理员不能放心使用文件和打印机共享。

  
netbois协议

 

  NetBIOS名称其实就是主机名和ip地址之间的解析。Netbios名称与主机名都是用来在网络中标记和标识计算机的,和域名作用样,具有唯性。

二、Web Services For Driver(WSD)设备网络服务


微软公司在2006年发布了许多技术,可以解决设备和Windows 操作系统之间的互联和服务问题,从而很好地实现设备的发现和连接。

在Windows Vista中,Web Services on Devices API (WSDAPI)是Devices Profile在Windows Vista中的应用。它支持为设备连接而设置的WS标准,像WS Discovery和WS Eventing等。

在Windows Vista中,Function Discovery API能轻松列举和使用具有某一特定类型的设备,而不管这些设备是怎样连接到电脑上的。Function Discovery是应用和设备的接口层,它能够使硬件通过功能发现设备,而不是通过连接的总线类型和连接方式。FD提供了一个列举系统资源的统一接口,按照功能和种类去发现和管理设备。FD支持可扩展的发现提供者模型,系统提供一个接口层,这些接口层是基于已经存在的标准,如Plug and Play、Simple Service Discovery Protocol (SSDP)、WS Discovery等。

PnP-X是Windows Vista中Plug and Play (PnP)的扩展,它使网络设备能像物理连接设备一样被安装,并且出现图标,就像Windows的内部设备一样。像Windows中的PnP工作在一套特定的总线上一样,Windows Vista中的PnP-X为实际连接的设备定义了一套特定的网络协议,包括两种设备都可以实现PnP-X: Universal Plug and Play (UPnP)设备和Device Profile for Web Services (DPWS)设备。PnP-X能够发现附上虚拟PnP-X网络总线的设备,这个IP总线的枚举器被用来发现PnP-X设备,主要包括连接到局域网的DPWS设备和UPnP设备。

在我们使用设备之前,必须要先发现设备。如果要实现设备的发现和安装,一些信息是必要的,PnP-X就规定了一些对于设备的描述,如Hardware ID等。PnP-X工作过程如下:

■ 用户启动Network Explorer,Network Explorer会向WSD Provider搜索设备,并显示设备的列表。用户选择安装设备,IPBusEnum服务就被通告有新设备需要安装后,会向WSD Provider索求设备的元数据信息。

■ WSD Provider向设备发出索求信息,设备发送元数据给WSD Provider。WSD Provider解析元数据并发送给IPBusEnum。IPBusEnum建立一个物理设备目标(PDO),并把PDO送给PnP组件,PnP搜寻与设备相对应的INF文件。

■ 依照INF的数据,PnP选择对应的设备驱动。如果驱动在系统中内置,设备就安装好了。如果驱动不存在,找到新硬件的向导将出现,用户将手动安装驱动。

打印机和Vista的交互实现

Windows Vista与打印机之间传送的消息是以SOAP格式出现的,SOAP消息是使用XML描述的。设备与设备之间的交互都遵循WS系列协议。设备端运行嵌入式Linux系统,开发工具可选用gSOAP平台来产生和接受SOAP消息,Windows Vista端由于内置了WSDAPI、Fuction Discovery和PnP-X组件,不需要另外的软件平台就可以产生和接受SOAP消息。

■ 打印机的发现过程

1.打印机与Windows Vista 在WS-Discovery阶段的交互操作

打印机上电后连接到局域网,先向网络广播一个Hello消息。在收到消息后,Windows Vista会主动发送Probe消息探测设备的类型和设备所在的范围。打印机收到Probe消息后,给Windows Vista发送Probe Match消息,告知其设备类型及其所在的范围。Windows Vista接收Probe Match消息后会主动发送Resolve消息,定位服务及服务所在的地址。打印机收到Windows Vista发送的Resolve消息后,发送Resolve Match给Windows Vista,确认服务和地址。这样Windows Vista就知道此服务的存在了。

2.打印机与Windows Vista 在WS-Transfer阶段的交互操作

WS-Discovery阶段完成了设备的发现,要得到打印机更详细的消息,还得进行进一步的传送。要在Windows Vista中显示打印机的图标,还得提供Windows Vista中PnP-X(Plug and Play Extensions)定义的数据。具体来说,当Windows Vista收到Resolve后,会发送Get消息,以求得到以上消息; 设备在收到Get消息后,发送Get Response,里面将包含详细描述内容。Windows Vista收到以上信息后会将其保存在注册表中相对应的PKey中。Windows Vista通过WSD Fuction、PnP-X将自动安装驱动(Windows Vista中已经内置的),这样打印机的图标就会显示到Vista的Network Explorer中。

■ Windows Vista设备搜索和配置

在Windows Vista下实现网络设备的搜索和连接的过程如下: 首先打开Network Explorer,可以看到一系列已经被发现的设备; 接着,点击Search,输入想要设备所在的搜索范围就可以看到设备的图标出现在Network Explorer中,可以选择它进行配置; 第三,当配置设备时,需要提供设备定义好的密码, 网络配置成功,客户端就可以开始订阅服务了。

基于以上描述我们是不是可以这样简单理解一下:(也许不尽全对,大致上应该就是这个意思吧)

一、基于TCP/IP设置的打印机

1、向目标打印机IP直接发送打印任务,打印机收到任务打印并返回完成信息。

2、当目标打印机IP变更,继续向该IP发送打印任务则无法完成任务,显示打印机离线。

3、对比NETBIOS和WSD无需执行名称解析流程:(工作流程更少相对应的就是更稳定)

image.png

二、基于NETBIOS服务设置的打印机

1、在局域网络中收集关于目标打印机名所对应的IP,然后通过对目标打印机解析后IP发送打印任务,打印机收到任务打印并返回完成信息。

2、通过NETBIOS解析后只要知道目标打印机名称,无论目标打印机IP如何变更,均可以快速打到目标打印机。

3、在复杂的网络环境下(如工作站系统关闭关于例如computer browsere服务或被网络防火墙拦截对应135、139等端口以及lmhosts文件被破坏更改还有超过200台以上工作的网络环境)会因为各种原因导致无法解析或错误解析无法连接到打印机。

image.png

三、基于WSD设置的打印机

1、在局域网络中收集关于目标打印机名所对应的IP,然后通过对目标打印机解析后IP发送打印任务,打印机收到任务打印并返回完成信息。

2、通过WSD解析并网络握手后只要知道目标打印机名称,无论目标打印机IP如何变更,均可以快速打到目标打印机。

3、WSD是2006年后微软 WINDOWS VISTA更新后的新产物,并不支持WINDOWS XP及以下操作系统,安全系数更高(避免了NETBIOS的各种漏洞),能更有效解析目标计算机名,但在操作设置上复杂(WSD端口需要启用例如DNS 客户端、功能发现资源发布、SSDP 发现和 UPnP 设备主机服务并在网络发现设置中开启等放行操作)。

image.png

最后,我又画了几个简单的图片来表述了一下(仅供参考)

image.png

image.png

关于软件资源类分享的免责声明:
本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并未做任何贩卖软件信息等行为,不存在任何商业目的及用途。
根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。"
您需知晓本站所有分享内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任。
如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇