CN111756867B - 通信装置及其控制方法 - Google Patents

通信装置及其控制方法 Download PDF

Info

Publication number
CN111756867B
CN111756867B CN202010226520.XA CN202010226520A CN111756867B CN 111756867 B CN111756867 B CN 111756867B CN 202010226520 A CN202010226520 A CN 202010226520A CN 111756867 B CN111756867 B CN 111756867B
Authority
CN
China
Prior art keywords
communication
domain name
dns
name system
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010226520.XA
Other languages
English (en)
Other versions
CN111756867A (zh
Inventor
内川慎一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN111756867A publication Critical patent/CN111756867A/zh
Application granted granted Critical
Publication of CN111756867B publication Critical patent/CN111756867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Facsimiles In General (AREA)

Abstract

本公开提供一种通信装置及其控制方法。所述通信装置用于经由多个不同通信接口向外部设备发送数据,所述通信装置包括:第一域名系统(DNS)客户端,其被构造为询问可经由所述多个不同通信接口当中的第一通信接口来访问的第一DNS服务器,来进行名称解析;中继服务器;以及通信应用,其被构造为将数据发送到由主机名标识的目的地。所述中继服务器包括第二DNS客户端,该第二DNS客户端被构造为询问可经由所述多个不同通信接口当中的第二通信接口来访问的第二DNS服务器,来进行名称解析。

Description

通信装置及其控制方法
技术领域
本公开涉及用于向外部设备发送数据的通信装置。
背景技术
近年来,随着网络所需的安全性及功能性的复杂化的增加,在办公室或商业设施等的场所使用多个局域网(LAN)的构造已变得普遍起来。
这些网络彼此独立,并且在各个网络中独立地管理域名。需要在此种网络环境中使用的通信装置(诸如多功能外围设备(MFP)等)来支持多个网络。
在相关技术中,为了解析在多个网络中独立管理的域名,已知有如下的方法,该方法用于在客户机终端与独立管理域名的网络之间配置域名系统(DNS)缓存服务器。通过配置能够连接到多个网络的DNS缓存服务器允许客户机终端实现多个网络的名称解析,而不必考虑网络(日本特开2004-297494号公报)。
还提出了如下的技术,该技术用于在客户通信终端连接到管理域名的多个网络的环境中高效地解析域名(日本特开2010-193015号公报)。
日本特开2004-297494号公报描述了通过由多个DNS服务器配设DNS缓存服务器并从DNS缓存服务器向多个DNS服务器发送询问来进行名称解析。
然而,在各个网络独立管理域名以使这些网络彼此独立的环境中,在客户机终端与网络之间配设DNS缓存服务器是不切实际的。因此,在该构造中,网络的名称解析是不可行的。
日本特开2010-193015号公报描述了包括多个网络接口的通信装置,这些网络接口中的一个网络接口连接到广域网,而另一个网络接口连接到封闭区域网。此外,通信装置针对各个网络接口来管理要用于名称解析的DNS服务器。通信装置尝试询问广域网上的DNS服务器,在成功获得因特网协议(IP,Internet Protocol)地址的情况下确定为广域网,而在未成功获得IP地址的情况下确定为封闭区域网,并将确定结果存储在网络列表中。该网络列表被用来实现名称解析。然而,对于在LAN接口处使用不同DNS服务器的具体机制,则未作公开。
经由典型LAN接口实现名称解析的方法的一个已知示例是Linux(注册商标)系统规范。例如,为了在Linux系统中解析域名,DNS服务器的描述被包含在预定文件中以规定DNS服务器。具体而言,在位于“/etc/resolv.conf”的文件中包含诸如“名称服务器'DNS服务器的IP地址'”("name server'IP address of a DNS server'")等的描述,以规定要使用的DNS服务器。可以指定多个DNS服务器实现冗余。在这种情况下,在“conf”文件中,包含与DNS服务器的数量相等的类似描述。
然而,这里指定的各DNS服务器是实现冗余的DNS服务器,其用作未接收到响应的已登记DNS服务器的替代。由于这一原因,如果作为DNS名称解析的结果,未找到相应的名称(尽管通信成功),则不询问用作替代的DNS服务器。亦即,当使用诸如Linux系统等的典型DNS客户端时,难以在各个网络中实现DNS名称解析。
发明内容
本公开的方面提供了一种机制,该机制用于在利用典型DNS客户端的机制(资源)的同时,针对各网络接口使用合适的DNS服务器来进行名称解析。本公开的另一方面提升了具有多个接口的通信装置的网络连接性。
根据本公开的方面,提供了用于经由多个不同通信接口向外部设备发送数据的通信装置,该通信装置包括:第一域名系统(DNS)客户端,其被构造为询问可经由所述多个不同通信接口当中的第一通信接口来访问的第一DNS服务器,以进行名称解析;中继服务器;以及通信应用,其被构造为将数据发送到由主机名标识的目的地,其中,所述中继服务器包括第二DNS客户端,其被构造为询问可经由多个不同通信接口当中的第二通信接口来访问的第二DNS服务器,以进行名称解析,并且其中,所述通信应用:(i)在经由第一通信接口将数据发送到由主机名标识的目的地时,请求第一DNS客户端解析主机名;(ii)在经由第二通信接口将数据发送到由主机名标识的目的地时,将数据发送到中继服务器,以通过使用中继服务器中的第二DNS客户端,来对由主机名标识的目的地进行名称解析。
通过以下参照附图对示例性实施例的描述,本公开的进一步特征将变得清楚。
附图说明
图1是例示通信系统的示例的图。
图2是例示MFP的示例硬件构造的图。
图3是例示MFP的示例软件构造的图。
图4是例示MFP的启动控制的示例的流程图。
图5是例示由通信应用进行的目的地控制的示例的流程图。
图6是例示与通信应用相关的设置画面的示例的图。
图7是例示使用本地代理服务器的名称解析处理的示例的流程图。
图8是例示根据第二实施例的通信控制的示例的流程图。
图9是例示根据第二实施例的通信控制的示例的流程图。
图10是例示根据第三实施例的示例软件构造的图。
图11A及图11B是例示根据第三实施例的通信控制的示例的流程图。
图12是例示根据第四实施例的示例软件构造的图。
图13是例示根据第四实施例的通信控制的示例的流程图。
具体实施方式
以下参照附图来描述本公开的实施例。以下的实施例并非旨在限定所附权利要求中陈述的公开,并且,在实施例中描述的特征的组合并非全部是必需的。
第一实施例
首先,将参照图1来描述根据本公开的实施例的通信系统的构造。在根据本实施例的通信系统中,MFP 200、DNS服务器100及设备120经由网络1(300)可通信地彼此连接。设备120被分配由DNS服务器100管理的主机名。另外,MFP 200、DNS服务器110及设备130经由网络2(310)可通信地彼此连接。设备130被分配由DNS服务器110管理的主机名。
在本实施例中,假定网络1(300)和网络2(310)是独立的、不同的网络。亦即,即使请求DNS服务器100解析设备130的主机名,DNS服务器100也无法解析设备130的主机名。相反,即使请求DNS服务器110解析设备120的主机名,DNS服务器110也无法解析设备120的主机名。
MFP 200是通信装置的示例。在本实施例中,作为非限定性示例,MFP 200是具有打印功能及扫描功能的MFP。MFP 200可以被实现为物联网(IoT,Internet of Things)设备、个人计算机、边缘服务器等。假定设备120及设备130分别是(但不限于)例如文件服务器或是管理关于MFP 200的信息的信息管理服务器。设备120及设备130可以是基础设施系统中的服务器或者云服务器。
MFP 200能够向设备120或130发送基于通过扫描获得的图像的数据,或者向设备120或130发送由MFP 200收集的数据。MFP 200利用规定设备120或130的主机名的地址来发送数据。稍后将描述这种情况下的名称解析的方法。
接下来,将参照图2描述MFP 200。图2是例示MFP 200的硬件构造的框图。MFP 200具有读取片材上的图像的读取功能、将所读取的图像发送到外部通信装置的文件发送功能以及任何的其他功能。MFP 200还具有在片材上打印图像的打印功能。
包括中央处理单元(CPU)202的控制单元201控制MFP 200的整体操作。CPU 202读取存储在只读存储器(ROM)204或硬盘驱动器(HDD)205中的控制程序,以进行诸如打印控制及读取控制等的各类控制。ROM 204存储可由CPU 202执行的控制程序。随机存取存储器(RAM)203是CPU 202的主存储器,并且用作加载各种控制程序的工作区或临时存储区。HDD205存储打印数据、图像数据、各种程序及各种类型的设置信息。如上所述,诸如CPU 202、ROM 204及RAM 203等的硬件部件构成计算机。
在根据本实施例的MFP 200中,单个CPU 202通过使用单个存储器(即,RAM 203),来执行后述流程图中例示的处理。然而,也可以使用任何其他形式。例如,多个处理器、RAM、ROM及存储设备可以相互协作来执行后述流程图中例示的处理。作为另一选择,可以利用硬件电路来执行一部分处理。
打印机接口(I/F)206将打印机207(打印机引擎)和控制单元201相互连接。打印机207基于经由打印机I/F 206输入的打印数据,在从片材给送盒(未例示)给送的片材上执行打印处理。
扫描器I/F 208将扫描器209和控制单元201相互连接。扫描器209读取放置在扫描器209上的原稿以生成图像数据。由扫描器209生成的图像数据通过打印机207被打印,被存储在HDD 205中,或是经由传真(FAX)I/F 214或者有线LAN I/F 212或213被发送到外部设备。
操作面板I/F 210将操作面板211和控制单元201相互连接。操作面板211包括具有触摸面板功能的液晶显示单元、各种硬键等,并且充当显示信息的显示单元或接受来自用户的指令的接受单元。
网络电缆连接到有线LAN I/F 212及213,以通过网络与外部设备通信。
有线LAN I/F 212是MFP 200的第一通信接口,并且连接到网络1(300)。有线LANI/F 213是MFP 200的第二通信接口,并且连接到网络2(310)。
电话线电缆连接到FAX I/F 214,并且,FAX I/F 214经由模拟通信或综合业务数字网(ISDN,Integrated Services Digital Network)通信而连接到电话网络。
接下来,将参照图3来描述MFP 200的软件构造。
通信应用1010是与网络1(300)上的设备120及网络2(310)上的设备130通信的应用。例如,通信应用1010是经由基于诸如Web分布式创作和版本控制(WebDAV,WebDistributed Authoring and Versioning)等的超文本传输协议(HTTP,HypertextTransfer Protocol)的通信而向设备发送数据的发送应用。发送应用能够向外部设备发送基于通过利用扫描器209读取原稿而获得的图像的文件。在第一实施例中,根据用户的操作等,预先设置要由通信应用1010使用的接口。
操作系统(OS)1020包括用于进行网络通信的传输控制协议/因特网协议(TCP/IP)栈,以及用于进行DNS名称解析的OS标准DNS客户端1021。在本实施例中,假定OS标准DNS客户端1021是Linux(注册商标)系统中的标准DNS客户端。为了利用这样的客户端来解析域名,在位于“/etc/resolv.conf”的文件中包含诸如“名称服务器'DNS服务器的IP地址'”等的描述,以规定DNS服务器。可以指定多个要使用的DNS服务器以实现冗余。然而,这里指定的各DNS服务器是实现冗余的DNS服务器,其用作未接收到响应的已登记DNS服务器的替代。由于这一原因,如果作为DNS名称解析的结果,未找到相应的名称(尽管通信成功),则不询问用作替代的DNS服务器。亦即,当使用Linux系统中的DNS客户端时,难以在各个网络中实现DNS名称解析。
本实施例描述了一种机制,该机制利用本地代理服务器1030来进行名称解析,所述本地代理服务器1030在MFP 200内包括独立的内部DNS客户端。具体而言,把用以将数据发送到网络2(310)的HTTP/HTTPS(基于安全套接层(SSL,Secure Sockets Layer)/传输层安全(TLS,Transport Layer Security)的HTTP,HTTP over SSL/TLS)通信分配给经由代理服务器的通信,以使本地代理服务器1030通过代理进行名称解析,从而便于顺利地进行主机名解析。如果本地代理服务器1030支持其他协议,则也可以经由本地代理服务器1030进行基于此类协议的通信。在下文中,HTTP通信或HTTPS通信被称为HTTP(S)。
以下,将描述具体的机制。为了能够快速查看网站或者控制可访问的网站,本地代理服务器1030提供如下的功能,即在接收到连接至网站的请求(HTTP或HTTPS通信)时,通过代理连接到该网站并进行通信。在本实施例中,假定通过使用squid或委托(delegate)以及软件模块,来构造本地代理服务器1030。
DNS设置控制器1040提供如下的功能,即为OS标准DNS客户端1021及代理服务器内部DNS客户端1031,设置要由各个客户端参照的DNS服务器。具体而言,向OS标准DNS客户端1021分配管理网络1(300)上的DNS名称的DNS服务器100,作为通信目的地。另一方面,向代理服务器内部DNS客户端1031分配管理网络2(310)上的DNS名称的DNS服务器110,作为通信目的地。亦即,把OS标准DNS客户端1021设置为能够解析网络1(300)上的DNS名称,并且把代理服务器内部DNS客户端1031设置为能够解析网络2(310)上的DNS名称。
设定值数据库(DB)1050存储DNS设置及通信应用1010的设定值。
以下,将参照图4、图5及图7中所示的流程图,来描述具体的控制。由CPU 202向RAM203中加载用于实现存储于ROM 204或HDD 205中的各控制模块的程序并执行该程序,来实现图4、图5及图7所示的流程图中例示的各操作(步骤)。请注意,假定通过CPU 202与各通信单元I/F之间的协作来进行数据发送及接收处理等。此外,将使用由CPU 202执行的软件模块作为主题(subject)来描述期望明确处理的主题的情况。
图4例示了当MFP 200启动时或者当DNS设置改变时,要由DNS设置控制器1040执行的处理流程。
在S401中,当DNS设置处理开始时,DNS设置控制器1040为OS标准DNS客户端1021设置网络1(300)上的DNS服务器100。使用保存在设定值DB 1050中的信息作为网络1(300)的DNS服务器信息。
在S402中,DNS设置控制器1040进行如下的确定,即MFP 200是否正连接到除网络1(300)以外的任何网络。如果确定存在到除网络1(300)以外的网络的连接,则处理进入到S403。另一方面,如果确定不存在到除网络1(300)以外的网络的连接(该设置表明仅使用第一通信接口),则一系列的DNS设置操作结束。
在S403中,DNS设置控制器1040启动本地代理服务器1030,并为作为要用于网络2(310)的DNS客户端的代理服务器内部DNS客户端1031设置网络2(310)上的DNS服务器110。使用保存在设定值DB 1050中的信息作为网络2(310)的DNS服务器信息。由此,对要用于网络1(300)及网络2(310)的各个DNS客户端的设置完成,并且使得能够进行针对各个网络的DNS名称解析。
接下来,将参照图5中所例示的流程图及图6中所例示的操作画面,来描述由通信应用1010使用由主机名标识的目的地而进行的HTTP/HTTPS通信的处理。
图6例示了在操作面板211上显示的、针对通信应用1010的设置画面的示例。用户能够通过图6中所例示的设置画面来设置要由通信应用1010使用的接口。当选择“接口1(网络1)”时,获得使得利用有线LAN I/F 212进行通信的设置。当选择“接口2(网络2)”时,获得使得利用有线LAN I/F 213进行通信的设置。该设置被存储在前述的设定值DB 1050中。通信应用1010基于该设置来确定输出目的地处的接口。
接下来,将参照图5中所例示的流程图,来描述在通信应用1010经由HTTP或HTTPS通信将数据发送到由主机名标识的外部目的地的情况下的控制。
在S500中,通信应用1010参照设定值DB 1050,并确定已选择的通信接口。当指定了接口1(有线LAN I/F 212)时,处理进入到S501。当指定了接口2(有线LAN I/F 213)时,处理进入到S505。
在S501中,通信应用1010向用于网络1(300)的OS标准DNS客户端1021,请求进行DNS名称解析。如果通信目的地是由IP地址标识的,则跳过S501及S502的处理,并且通信应用1010直接进入到S503并进行通信。
在S502中,基于由OS标准DNS客户端1021响应于请求而进行的DNS名称解析的结果,通信应用1010确定名称解析是否成功。如果名称解析成功,则处理进入到S503。如果名称解析失败,则处理进入到S504。如果名称解析成功,则获得通信目的地的IP地址。
在S503中,通信应用1010与OS 1020及有线LAN I/F 212协作,来进行与指定目的地的HTTP(S)通信。当通信完成时,一系列的操作结束。
在S504中,通信应用1010显示错误。例如,通信应用1010输出指示通信失败的消息,或者输出出错声音。
现在,将描述当选择网络2(310)(有线LAN I/F 213)时进行的处理。在S505中,通信应用1010将HTTP(S)请求传送到本地代理服务器1030。稍后,将参照图7来描述S505的处理的详情。在S506中,通信应用1010接收来自本地代理服务器1030的响应并基于该响应来显示通信结果。
接下来,将参照图7中所示的流程图,来描述MFP 200中的本地代理服务器1030在接收到传送的HTTP(S)请求时进行的处理。
在S700中,本地代理服务器1030接收从通信应用1010传送的HTTP(S)请求,并通过使用代理服务器内部DNS客户端1031,对该请求中包括的统一资源定位符(URL)进行名称解析。DNS服务器110被指定为要由代理服务器内部DNS客户端1031询问的目的地。因此,向DNS服务器110询问与该URL相对应的IP地址。
在S701中,本地代理服务器1030基于来自DNS服务器110的响应,来确定被指定为目的地的URL(即,主机名)的名称解析是否成功。如果名称解析成功,则处理进入到S702。如果名称解析失败,则处理进入到S703。
在S702中,本地代理服务器1030与作为名称解析的结果而获得的目的地进行HTTP(S)通信,并且以响应结果来应答通信应用1010。然后,一系列的控制操作结束。在S703中,本地代理服务器1030用指示HTTP(S)通信失败的出错信息,来应答通信应用1010。然后,一系列的操作结束。
如上所述,本实施例提供控制,使得经由本地代理服务器1030进行要发送到连接至有线LAN I/F 213的网络2(310)的每个HTTP/HTTPS通信。这使得本地代理服务器1030中包括的DNS客户端能够进行名称解析,从而便于顺利地进行主机名解析。
第二实施例
第一实施例描述了通信应用1010的如下设置,所述设置使得要经由进行通信的LAN I/F被预先设定。第一实施例还描述了一种机制,该机制用于根据通信应用1010的设置而在两种情况之间切换,其中一种情况是通信应用1010请求本地代理服务器1030传送HTTP通信,另一种情况是通信应用1010在不使用本地代理服务器1030的情况下尝试通信。
第二实施例提供一种机制,该机制使得即使在未预先设置通信应用1010的设置时,也能够进行适当的名称解析。具体而言,尝试确定是否能够在有线LAN I/F 213侧进行名称解析。如果无法进行名称解析,则将名称解析失败的主机名添加到排除列表,该排除列表包含未使用本地代理服务器1030的主机名。
根据第二实施例的硬件构造及软件构造与根据第一实施例的类似,并且将不再予以描述。
以下,将参照图8及图9中所示的流程图来描述具体的控制。由CPU 202向RAM 203中加载用于实现存储于ROM 204或HDD 205中的各控制模块的程序并执行该程序,来实现图8及图9所示的流程图中例示的各操作(步骤)。请注意,假定通过CPU 202与各通信单元I/F之间的协作来进行数据发送及接收处理等。此外,将使用由CPU 202执行的软件模块作为主题,来描述期望明确处理的主题的情况。
图8例示了通信应用1010的控制,该控制是取代根据第一实施例的图5中所例示的流程图而进行的。
在S800中,通信应用1010从设定值DB 1050获得与本地代理服务器1030相对应的排除列表。
排除列表是用于在不使用本地代理服务器1030的情况下而直接连接的主机名的列表。由诸如管理员等的特权用户来进行到排除列表的新登记。在后述的图9所例示的流程图中,当通信失败时,也进行新登记。
在S801中,通信应用1010进行如下的确定,即在S800中获得的排除列表是否包括目的地URL的主机名。如果排除列表包括目的地URL的主机名,则处理进入到S804。如果排除列表不包括目的地URL的主机名,则处理进入到S802。S801的处理是确定目的地URL的主机名是否与排除列表中的任何主机名相匹配的处理。
在S802中,通信应用1010将HTTP(S)请求传送到本地代理服务器1030。然后,在S803中,通信应用1010从本地代理服务器1030接收指示通信结果的响应。
另一方面,在S804中,通信应用1010与OS标准DNS客户端1021协作,来解析指示目的地的主机名。如果名称解析成功,则处理进入到S805。如果名称解析失败,则通信应用1010显示错误。然后,一系列的操作结束。
在S805中,通信应用1010将HTTP(S)请求发送到在S804中获得的IP地址。
在上述的处理中,作为示例,排除列表包含主机名“example.com”。当连接到“http://example.com”时,由于目的地被包括在排除列表中,所以通信应用1010不使用本地代理服务器1030而直接进行HTTP(S)通信。当连接到未包括在排除列表中的“http://example.net”时,通信应用1010将HTTP(S)请求发送到本地代理服务器1030。
然后,在S806中,通信应用1010确定接收到的HTTP(S)响应是否为重定向响应。如果接收到的HTTP(S)响应是重定向响应,则处理进入到S807。如果接收到的HTTP(S)响应不是重定向响应,则一系列的发送控制操作结束。
术语“重定向响应”是指具有HTTP状态代码301或302的响应。在重定向响应的情况下,处理进入到S807,并且通信应用1010尝试访问重定向目的地URL。
在S807中,通信应用1010把接收到的HTTP(S)响应的位置(location)报头中标识的目的地,设置为HTTP(S)请求的新目的地。当设置完成时,处理返回到S800,并且通信应用1010尝试利用重定向目的地的主机名进行通信。
接下来,将参照图9中所例示的流程图来描述本地代理服务器1030的控制。图9例示了取代根据第一实施例的图7中所例示的控制而进行的控制的示例。
在S900中,本地代理服务器1030通过使用代理服务器内部DNS客户端1031对由通信应用1010指定的目的地(主机名)进行名称解析。
在S901中,本地代理服务器1030确定名称解析是否成功。如果名称解析成功,则处理进入到S902。如果名称解析失败,则处理进入到S903。
在S902中,本地代理服务器1030利用作为名称解析的结果而获得的IP地址来进行HTTP(S)通信,并且以响应来应答通信应用1010。
在S903中,本地代理服务器1030在自身管理的排除列表中新登记名称解析失败的主机名。
例如,如果本地代理服务器1030接收到对“http://example2/test”的请求,并且针对目的地的名称解析失败,则本地代理服务器1030将“example2”登记在排除列表中。通过S903的处理,当再次指定相同的域名时,能够进行不使用本地代理服务器1030的通信。
然后,在S904中,本地代理服务器1030生成HTTP(S)重定向响应,并将该响应返回给通信应用1010。当发送完成时,一系列的名称解析操作结束。
重定向响应包含HTTP响应状态代码301或302,并且在指示重定向目的地的位置报头中设置在S901中名称解析失败的主机名。
例如,在对“http://example2/test”的请求的情况下,本地代理服务器1030设置HTTP状态代码301。此外,本地代理服务器1030发送在HTTP报头中包含“Location:http://example2/test”的响应数据。
如上所述,如果本地代理服务器1030无法解析目的地的主机名,则本地代理服务器1030在自身的排除列表中登记目的地。因此,在下次及后续的访问中,不再向本地代理服务器1030请求该目的地。
此外,进行重定向处理以经由另一网络尝试到新登记在排除列表中的目的地的连接。通过该处理,现在能够利用OS标准DNS客户端1021来使用网络1(300)上的DNS服务器100进行名称解析。
因此,MFP 200中诸如通信应用1010等的各应用不必考虑通信接口,而能够利用合适的网络来进行名称解析,进而进行通信。
第三实施例
第一及第二实施例描述了一种机制,该机制用于通过使用本地代理服务器1030来对诸如HTTP或HTTPS通信等的经由代理的通信,适当地进行名称解析。
在第三实施例中,准备了多个DNS客户端,以对不由代理服务器处理的通信也适当地进行名称解析。
根据第三实施例的硬件构造与根据第一实施例的类似,并且将不再予以描述。图10例示了根据第三实施例的MFP 200的示例软件构造。
与参照图3描述的第一实施例不同,MFP 200包括附加DNS客户端1032,取代本地代理服务器1030。
附加DNS客户端1032是如下的DNS客户端,其以与OS标准DNS客户端1021类似的方式进行DNS名称解析。
DNS设置控制器1040提供设置询问OS标准DNS客户端1021及附加DNS客户端1032的DNS服务器的功能。具体而言,向OS标准DNS客户端1021分配管理网络1(300)上的DNS名称的DNS服务器100,作为通信目的地。另一方面,向附加DNS客户端1032分配管理网络2(310)上的DNS名称的DNS服务器110,作为通信目的地。
以下,将参照图11A及图11B中所示的流程图来描述具体的控制。由CPU 202向RAM203中加载用于实现存储于ROM 204或HDD 205中的各控制模块的程序并执行该程序,来实现图11A及图11B所示的流程图中例示的各操作(步骤)。请注意,假定通过CPU 202与各通信单元I/F之间的协作来进行数据发送及接收处理等。此外,将使用由CPU 202执行的软件模块作为主题,来描述期望明确处理的主题的情况。
图11A是例示了取代根据第一实施例的图4所例示的处理而执行的处理的流程图,并且图11B是例示了取代根据第一实施例的图5所例示的处理而执行的处理的流程图。
首先,将参照图11A来描述在MFP 200的启动时的设置处理。在S1100中,DNS设置控制器1040为OS标准DNS客户端1021设置网络1(300)上的DNS服务器100。使用保存在设定值DB 1050中的信息作为网络1(300)的DNS服务器信息。在S1101中,DNS设置控制器1040确定是否建立了到另一网络(网络2(310))的连接。如果建立了到另一网络(网络2(310))的连接,则处理进入到S1102。如果未建立到另一网络(网络2(310))的连接,则一系列的操作结束。在S1102中,DNS设置控制器1040为附加DNS客户端1032设置网络2(310)上的DNS服务器110。使用保存在设定值DB 1050中的信息作为网络2(310)的DNS服务器信息。
接下来,将参照图11B来描述通信应用1010的控制。在S1110中,通信应用1010参照设定值DB 1050并确定已选择的通信接口。如果指定了网络1(300)(有线LAN I/F 212),则处理进入到S1111。如果指定了网络2(310)(有线LAN I/F 213),则处理进入到S1112。
在S1111中,通信应用1010向用于网络1(300)的OS标准DNS客户端1021请求进行DNS名称解析。
另一方面,在S1112中,通信应用1010向用于网络2(310)的附加DNS客户端1032请求进行DNS名称解析。
如果名称解析成功,则通信应用1010基于作为名称解析的结果而获得的IP地址来与目的地设备通信。如果名称解析失败,则通信应用1010显示错误。然后,一系列的操作结束。
第四实施例
第三实施例描述了启动多个DNS客户端使得由通信应用使用DNS客户端的控制。第四实施例描述一种方法,该方法用于重新配置OS标准DNS客户端1021的设置,从而利用单个DNS客户端来进行名称解析。
根据本实施例的硬件构造与根据第三实施例的类似,并且将不再予以描述。图12例示了根据第四实施例的示例软件构造。与参照图3描述的第一实施例不同,MFP 200不包括本地代理服务器1030。
下面,将参照图13来描述具体的控制。图13是例示了取代根据第一实施例的图5中所例示的处理而执行的处理的流程图。
在S1300中,通信应用1010参照设定值DB 1050,并为OS标准DNS客户端1021设置网络1(300)上的DNS服务器100。例如,如果网络1(300)上的DNS服务器100的IP地址是“172.24.1.1”,则通信应用1010把诸如“nameserver 172.24.1.1”等的描述添加到“/etc/resolv.conf”中,而后重新启动OS标准DNS客户端1021。如果在“/etc/resolv.conf”中已描述了网络2(310)上的DNS服务器110的IP地址,则通信应用1010删除该描述。
然后,在S1301中,通信应用1010等待预定时间段直到OS标准DNS客户端1021开始运行为止,而后请求OS标准DNS客户端1021进行名称解析。
在S1302中,通信应用1010确定名称解析是否成功。如果名称解析成功,则通信应用1010基于作为名称解析的结果而获得的IP地址进行通信,而后一系列的操作结束。另一方面,如果名称解析失败,则处理进入到S1303。
在S1303中,通信应用1010确定在设定值DB 1050中是否存在另一网络(网络2(310))的DNS服务器设置。如果存在另一网络(网络2(310))的DNS服务器设置,则处理进入到S1304。另一方面,如果不存在另一网络(网络2(310))的DNS服务器设置,则通信应用1010向用户通知错误。然后,一系列的操作结束。
在S1304中,通信应用1010重新配置要由OS标准DNS客户端1021访问的DNS服务器的设置。
例如,如果网络2(310)上的DNS服务器110的IP地址是“192.168.1.1”,则通信应用1010从“conf”文件中删除“nameserver172.24.1.1”。此外,通信应用1010新描述“nameserver 192.168.1.1”,而后重新启动OS标准DNS客户端1021。当在OS标准DNS客户端1021重新启动后经过预定时间段时,处理进入到S1301,并且,通信应用1010再次进行名称解析处理。通过上述的处理,能够实现多个网络中的DNS名称解析。
其他实施例
另外,可以通过系统或装置的计算机,来实现本公开的实施例,所述计算机读出并执行记录在存储介质(例如,非临时性计算机可读存储介质)上的计算机可执行指令,以执行本公开的上述实施例中的一个或更多的功能;并且,可以通过由所述系统或装置的所述计算机执行的方法,来实现本公开的实施例,所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令,以执行上述实施例中的一个或更多的功能,由此执行所述方法。所述计算机可以包括中央处理单元(CPU)、微处理单元(MPU)或其他电路中的一者或更多,并且可以包括由独立计算机或独立计算机处理器组成的网络。可以例如从网络或所述存储介质,将所述计算机可执行指令提供给所述计算机。所述存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备、存储卡等中的一者或更多。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
根据本公开的一个实施例,能够在利用典型DNS客户端的机制(资源)的同时,针对各网络接口,使用合适的DNS服务器来进行名称解析。根据本公开的另一实施例,能够提升具有多个接口的通信装置的网络连接性。
虽然参照示例性实施例对本公开进行了描述,但是应当理解,本公开并不限定于所公开的示例性实施例。所附权利要求的范围应当被给予最宽的解释,以便涵盖所有此类修改以及等同的结构和功能。

Claims (8)

1.一种通信装置,该通信装置用于经由多个不同通信接口向外部设备发送数据,所述通信装置包括:
第一域名系统客户端单元,其被构造为询问可经由所述多个不同通信接口当中的第一通信接口来访问的第一域名系统服务器,以使用操作系统标准域名系统客户端的功能来进行名称解析;
中继服务器单元;以及
通信应用,其被构造为将数据发送到由主机名标识的目的地,
其中,所述中继服务器单元包括第二域名系统客户端单元,该第二域名系统客户端单元被构造为询问可经由所述多个不同通信接口当中的第二通信接口来访问的第二域名系统服务器,以使用与操作系统标准域名系统客户端的功能相独立的功能来进行名称解析,并且,
其中,当将数据发送到由主机名标识的目的地时,所述通信应用进行如下控制:
(i)在经由所述第一通信接口发送所述数据的情况下,请求由所述第一域名系统客户端单元解析所述主机名;以及
(ii)在经由所述第二通信接口发送所述数据的情况下,请求由所述第二域名系统客户端单元解析所述主机名。
2.根据权利要求1所述的通信装置,其中,所述中继服务器单元被构造为充当代理服务器。
3.根据权利要求2所述的通信装置,该通信装置还包括扫描器,
其中,所述通信应用把通过利用所述扫描器扫描原稿而获得的图像,发送到所述外部设备。
4.根据权利要求1所述的通信装置,该通信装置还包括管理单元,该管理单元用于管理一个或更多个主机名,
其中,当未从所述多个不同通信接口当中确定要用来将所述数据发送到由所述主机名标识的所述目的地的通信接口时,根据被标识为所述目的地的所述主机名是否与由所述管理单元管理的所述一个或更多个主机名中的任何的主机名相匹配,所述通信应用请求所述第一域名系统客户端单元解析所述主机名,或者使所述中继服务器单元中继所述数据。
5.根据权利要求4所述的通信装置,其中,所述管理单元管理要在不使用所述中继服务器单元的情况下解析的一个或更多个主机名的列表。
6.根据权利要求5所述的通信装置,其中,所述中继服务器单元中的所述第二域名系统客户端单元充当:
登记单元,其用于响应于所述主机名的解析的失败,而将所述主机名登记在所述管理单元中;以及
响应单元,其用于把将所述主机名指定为重定向目的地的响应返回给所述通信应用。
7.根据权利要求1所述的通信装置,其中,通过操作系统来提供所述第一域名系统客户端单元,所述操作系统被构造为在所述通信装置上运行,并且
其中,所述通信应用进行控制以经由多个不同通信接口当中的、被提前设置为用作通信的接口的通信接口来发送数据。
8.一种通信装置的控制方法,所述通信装置用于经由多个不同通信接口向外部设备发送数据,所述控制方法包括以下步骤:
使所述通信装置作为中继服务器单元操作,所述中继服务器单元包括第二域名系统客户端单元,所述第二域名系统客户端单元被构造为询问能经由所述多个不同通信接口当中的第二通信接口来访问的第二域名系统服务器,以使用与操作系统标准域名系统客户端的功能相独立的具体功能来进行名称解析,(i)当经由所述多个不同通信接口当中的第一通信接口将数据发送到由主机名标识的目的地时,请求由第一域名系统客户端单元解析所述主机名,其中,所述第一域名系统客户端单元被构造为询问能经由所述第一通信接口来访问的第一域名系统服务器,以使用操作系统标准域名系统客户端的功能来进行名称解析;
(2)当经由第二通信接口将数据发送到由主机名标识的目的地时,请求由所述第二域名系统客户端单元解析所述主机名,以及
将数据发送到由主机名标识的目的地。
CN202010226520.XA 2019-03-29 2020-03-27 通信装置及其控制方法 Active CN111756867B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019068841A JP7309418B2 (ja) 2019-03-29 2019-03-29 通信装置、通信装置の制御方法及びプログラム
JP2019-068841 2019-03-29

Publications (2)

Publication Number Publication Date
CN111756867A CN111756867A (zh) 2020-10-09
CN111756867B true CN111756867B (zh) 2023-08-01

Family

ID=72607794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010226520.XA Active CN111756867B (zh) 2019-03-29 2020-03-27 通信装置及其控制方法

Country Status (3)

Country Link
US (1) US10979388B2 (zh)
JP (1) JP7309418B2 (zh)
CN (1) CN111756867B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022191775A (ja) * 2021-06-16 2022-12-28 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552731A (zh) * 2008-04-01 2009-10-07 联发科技股份有限公司 控制移动节点上的第一接口与第二接口的方法及系统
CN102647482A (zh) * 2012-03-31 2012-08-22 奇智软件(北京)有限公司 一种访问网站的方法和系统
CN105210330A (zh) * 2014-04-22 2015-12-30 柏思科技有限公司 用于处理dns请求的方法和系统
CN108063835A (zh) * 2017-12-04 2018-05-22 达闼科技(北京)有限公司 外网域名解析方法、服务器和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004045164A1 (ja) * 2002-11-14 2006-03-16 アライドテレシスホールディングス株式会社 データ中継装置、取得した要求の送信先を決定する方法、及びそれをコンピュータにおいて実現するプログラム
JP3966470B2 (ja) 2003-03-27 2007-08-29 日本電信電話株式会社 複数のネットワーク接続における名前解決方法及び装置
JP2010193015A (ja) 2009-02-16 2010-09-02 Panasonic Corp 通信装置およびその通信方法
JP5494649B2 (ja) * 2009-03-25 2014-05-21 日本電気株式会社 中継装置、中継方法、及び中継装置制御プログラム
US20110153807A1 (en) * 2009-12-21 2011-06-23 Lorenzo Vicisano Systems and Methods for Preemptive DNS Resolution
US8671221B2 (en) * 2010-11-17 2014-03-11 Hola Networks Ltd. Method and system for increasing speed of domain name system resolution within a computing device
US8788708B2 (en) * 2012-01-06 2014-07-22 Blue Coat Systems, Inc. Split-domain name service
US9414248B2 (en) * 2013-03-15 2016-08-09 Movik Networks, Inc. System and methods for estimation and improvement of user, service and network QOE metrics
US10313299B2 (en) * 2013-08-26 2019-06-04 Jeong Hoan Seo Domain name system (DNS) and domain name service method based on user information
US10594728B2 (en) * 2016-06-29 2020-03-17 AVAST Software s.r.o. Detection of domain name system hijacking
JP7024247B2 (ja) * 2017-08-10 2022-02-24 株式会社リコー 情報処理装置、通信システム、通信方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552731A (zh) * 2008-04-01 2009-10-07 联发科技股份有限公司 控制移动节点上的第一接口与第二接口的方法及系统
CN102647482A (zh) * 2012-03-31 2012-08-22 奇智软件(北京)有限公司 一种访问网站的方法和系统
CN105210330A (zh) * 2014-04-22 2015-12-30 柏思科技有限公司 用于处理dns请求的方法和系统
CN108063835A (zh) * 2017-12-04 2018-05-22 达闼科技(北京)有限公司 外网域名解析方法、服务器和系统

Also Published As

Publication number Publication date
JP2020167619A (ja) 2020-10-08
JP7309418B2 (ja) 2023-07-18
US20200314061A1 (en) 2020-10-01
US10979388B2 (en) 2021-04-13
CN111756867A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
US9053126B2 (en) Information processing apparatus, information processing system, and recording medium
KR102378268B1 (ko) 정보 처리 장치, 정보 처리 장치를 제어하는 방법 및 저장 매체
JP7166741B2 (ja) 情報処理装置、情報処理装置の制御方法、画像形成装置、画像形成装置の制御方法、情報処理システム、及び、プログラム
US9124501B2 (en) Server device, network device, and method of providing data providing location
JP6102264B2 (ja) 処理実行システム、情報処理装置、プログラム
US9710735B2 (en) Printer, print control device, print system, printing method, and computer-readable medium for providing specific print setting information
WO2015151526A1 (en) Printer registration apparatus, display apparatus, and method for printer registration
US11722454B2 (en) Communication apparatus, method of controlling communication apparatus, and storage medium
JP2011187063A (ja) 遠隔印刷サービスを介したインターネットアクセス不可能なウェブコンテンツの印刷
KR20190020624A (ko) 정보 처리장치, 제어방법 및 기록매체
JP2012185690A (ja) 印刷システム、画像形成装置、印刷データ受信方法、印刷データ取得方法、およびコンピュータプログラム
CN111756867B (zh) 通信装置及其控制方法
CN110716700A (zh) 打印服务器、控制方法和存储介质
US11570142B2 (en) Requesting name resolution from determined external DNS server
CN105991616B (zh) 信息处理装置、通信系统以及通信方法
JP6381426B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2009037350A (ja) 出力システム、情報処理装置及び管理サーバ装置
CN113542425B (zh) 信息处理装置及信息处理装置的控制方法
JP2024007173A (ja) 印刷サービスを提供するためのシステム及び方法
CN109639921B (zh) 通信装置、其控制方法和存储介质
JP5113095B2 (ja) ネットワーク設定通知装置、ネットワーク設定方法、プログラムおよび記録媒体
JP2007214916A (ja) ネットワークデバイス管理装置及びその探索方法
CN103916553A (zh) 图像形成系统、图像形成装置、以及图像数据的发送方法
JP2012192578A (ja) ファイル共有システム、ファイル共有方法およびプログラム
US20240078280A1 (en) Web browsing system, communication terminal, and control method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant