UPnP(Universal Plug and Play)即通用即插即用协议,是为了实现电脑与智能的电器设备对等网络连接的体系结构,UPnP是因特网及LAN中使用的以TCP/IP协议为基础的技 术,例如通过无线网连接无线路由器上网的用户都是处于内网中,正常情况下,路由器LAN口的设备对于WAN口的设备是不可见的,所以与WAN口同一网络的 设备无法操作和访问路由器LAN口的设备。
CH563 基于UPnP实现自动端口映射功能,局域网内具有该功能的设备后,可以使得网内设备获得全球可路由IP地址,并且配置端口映射以将来自NAT外部端口的数 据包转发到应用程序使用的内部端口上,所有这一切都是自动完成,用户无需手动映射端口或者进行其它工作。UPnP可以充分发挥TCP/IP和网络技术的功 能,不但能对类似网络进行无缝连接,而且还能够控制网络设备及在它们之间传输信息,另外在UPnP架构中没有设备驱动程序,取而代之的是普通协议。
局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组,可以实现文件管理、应用软件共享、打印机共享等功能,它们使用同一个IP地址 段。如下图的电脑1、其他网络设备1属于同一个局域网,它们通过一个公共网关设备(路由器WAN口)访问外部网络设备,同样电脑3和其它网络设备2属于同 一个局域网。如上图所示,A网的网络设备无法与B网路由器LAN口的设备建立连接进行TCP通信的,同样B网的网络设备无法与A网路由器LAN口的设备建 立连接进行TCP通信。
如 图表1所示,假设A网的路由器WAN口IP地址为192.168.111.1,LAN口的网络设备为192.168.1.x。假设B网的路由器WAN口 IP地址为192.168.123.1,LAN口的网络设备为192.168.2.x。此时A网LAN的设备与B网设备是不在同一个局域网的,所以无法建 立TCP连接进行通信。如果在A网内添加一个CH563 UPnP功能模块,同时路由器开启了UPnP,假设电脑1的IP地址是192.168.1.23,TCP监听端口为9000,如果将 192.168.111.1:9001映射到192.168.1.23:9000,那么B网设备通过访问192.168.111.1:9001则会映射到 电脑1设备上,就可以进行通信了,如果路由器支持虚拟服务器功能,将广域网服务端口的访问重定位给通过IP地址指定的局域网网络服务器,也可以实现该功 能,不过此方法只适合已知的固定IP和端口的使用。如果B网没有UPnP功能,那么A网设备无法访问B网路由器LAN口的网络设备。
当 一个网络里的设备想要访问另一个网络里的设备时,我们就需要通过一些其他的辅助技术或者第三方软件来实现,UPnP就是其中一种方式,一般的嵌入式网络产 品不带有这个功能。如图表2所示,电脑1、电脑2想使用左侧框图里的打印机,正常情况下是不可以的,但增加一个CH563 UPnP功能模块,并对电脑端的打印机进行端口配置后,电脑1、电脑2也可以使用左侧路由器LAN口的打印机设备了。
UPnP有着广泛的应用,可以实现许多现成的、新的及令人兴奋的方案,包括家庭自动化、打印、图片处理、音频/视频娱乐、智能家居设备、汽车网络和公共集会场所的类似网络。