Communication apparatus, communication method, and communication program

By storing and updating MAC addresses using identification information, the communication device maintains connectivity with devices that have changed their MAC addresses, addressing the challenge of MAC randomization in communication systems.

JP2025163579APending Publication Date: 2025-10-29OKI ELECTRIC INDUSTRY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024066990
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-17
Publication Date
2025-10-29

AI Technical Summary

Technical Problem

Communication devices with MAC address randomization functions face challenges in maintaining communication after changing their MAC addresses, as existing systems rely on matching registered MAC addresses, leading to communication disruptions.

Method used

A communication device and method that stores both MAC addresses and unique identification information, allowing communication by updating the registered MAC address using identification information when a predetermined signal is detected, such as a gratuitous ARP, ensuring compatibility even with randomly changed MAC addresses.

Benefits of technology

Enables continuous communication with devices that have changed their MAC addresses by updating the registered MAC filtering information, preserving the functionality of MAC address filtering despite randomization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025163579000001_ABST
    Figure 2025163579000001_ABST
Patent Text Reader

Abstract

To provide a communication apparatus and a communication method that can permit communication with a communication device even if the MAC address of the communication device has been changed.SOLUTION: A communication device (100) includes a storage unit (120) that stores the MAC address and unique identification information of a communication device (200) existing on a network (300) as registered MAC address and registered identification information, respectively, and a control unit (180) that permits communication with a transmitting source communication device if the MAC address of the transmitting source communication device included in a communication packet received via the network (300) matches the registered MAC address. The control unit (180) updates the registered MAC address using the registered identification information when detecting a predetermined signal transmitted by broadcast on the network (300).SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a communication device, a communication method, and a communication program. [Background technology]

[0002] There is a communication device that has a MAC address filtering function that performs filtering using a registered MAC (Media Access Control) address (see, for example, Patent Document 1). This communication device uses the MAC address filtering function to allow communication with a communication device that has the same MAC address as the registered MAC address.

[0003] In addition, to improve security performance, an increasing number of communication devices are equipped with a MAC address randomization function that randomly changes their own MAC addresses. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2014-127838 Summary of the Invention [Problem to be solved by the invention]

[0005] However, if a communication device changes its MAC address using the MAC address randomization function, the registered MAC address will no longer match the MAC address of the communication device, and the communication device will no longer allow communication with the communication device with the changed MAC address.

[0006] The present disclosure aims to provide a communication device, a communication method, and a communication program that can permit communication with a communication device that is permitted to communicate even if the MAC address of the communication device has changed. [Means for solving the problem]

[0007] The communication device disclosed herein includes a memory unit that stores the MAC address and unique identification information of a communication device present on a network as a registered MAC address and registered identification information, respectively, and a control unit that allows communication with a source communication device when the MAC address of the source communication device contained in a communication packet received via the network matches the registered MAC address, and is characterized in that the control unit updates the registered MAC address using the registered identification information when it detects a predetermined signal broadcast to the network.

[0008] The communication method disclosed herein is a method executed by a communication device, and is characterized by comprising the steps of: storing the MAC address and unique identification information of a communication device present on a network in a memory unit as a registered MAC address and registered identification information, respectively; allowing communication with the source communication device when the MAC address of the source communication device contained in a communication packet received via the network matches the registered MAC address; and updating the registered MAC address using the registered identification information when a predetermined signal broadcast to the network is detected. [Effects of the Invention]

[0009] According to the communication device or communication method of the present disclosure, even if the MAC address of a communication device that is permitted to communicate has changed, communication with that communication device can still be permitted. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a block diagram showing a configuration of a communication system including an image forming apparatus (communication apparatus) and a communication device according to first and second embodiments. [Figure 2] FIG. 1 is a block diagram schematically illustrating a configuration of an image forming apparatus according to first and second embodiments. [Figure 3]FIG. 10 is a diagram showing an example of filtering registration information (including registered MAC addresses and registered identification information) stored in a storage unit of the image forming apparatus according to the first and second embodiments. [Figure 4] FIG. 2 is a block diagram schematically illustrating the configuration of the communication device shown in FIG. [Figure 5] 10 is a diagram illustrating the processing of a communication unit and a control unit of an image forming apparatus that receives a communication packet from a network. [Figure 6] 1A and 1B are diagrams illustrating an example of a hardware configuration of an image forming apparatus according to the first and second embodiments. [Figure 7] 10 is a diagram showing an example of a notification screen displayed on a display unit of the image forming apparatus according to the first and second embodiments. FIG. [Figure 8] 2 is a block diagram showing a state in which the MAC address of a communication device in the communication system of FIG. 1 has been changed by a MAC address randomization function. [Figure 9] 6 is a flowchart showing a process executed by the MAC filter processor of FIG. 5 (a process when the IP communication processor passes a communication packet to the MAC filter processor). [Figure 10] FIG. 10 is a diagram showing the specifications of a MAC address generated by a MAC address randomization function. [Figure 11] 6 is a flowchart illustrating the processing performed by the MAC filtering application of FIG. 5. [Figure 12] 6 is a flowchart showing a process executed by the MAC filter processor of FIG. 5 (a process when the IP communication processor passes a communication packet to the MAC filter processor). [Figure 13] FIG. 2 is a schematic diagram illustrating the structure of a communication packet. [Figure 14] 6 is a flowchart showing a process executed by the MAC filtering application of FIG. 5 (a process when a communication packet is handed over from a socket to the MAC filtering application). [Figure 15]1 is a schematic diagram showing an example of filtering registration information (including registered MAC addresses and registered identification information) stored in a storage unit of the image forming apparatus according to the first and second embodiments. FIG. [Figure 16] FIG. 10 is a sequence diagram illustrating operations of the communication device and the image forming device when a print request is made to the image forming device after the MAC address of the communication device is randomly changed. [Figure 17] 10 is a flowchart showing a process executed by a MAC filter processor (a process when an IP communication processor passes a communication packet to a MAC filter processor) in an image forming apparatus (communication apparatus) according to a second embodiment. [Figure 18] FIG. 10 is a sequence diagram showing operations (operations after the MAC address of the communication device is randomly changed) between the image forming apparatus (communication device) and the communication device according to the second embodiment. [Figure 19] FIG. 10 is a sequence diagram showing the operation (operation when a setting value acquisition request is received by SNMP using UDP) between the image forming apparatus (communication apparatus) and the communication device according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] A communication device, a communication method, and a communication program according to embodiments will be described below with reference to the drawings. The following embodiments are merely examples, and the embodiments can be appropriately combined and modified.

[0012] 1. First embodiment 1-1 Configuration FIG. 1 is a block diagram showing the configuration of a communication system 10 including an image forming apparatus (communication apparatus) 100 according to the first embodiment and a plurality of communication devices. The image forming apparatus 100 in FIG. 1 is an apparatus capable of implementing a communication method according to the first embodiment. The image forming apparatus 100 in FIG. 1 is capable of executing a communication program according to the first embodiment. The communication system 10 in FIG. 1 includes the image forming apparatus 100, a communication device 200A, and a communication device 200B.

[0013] The image forming device 100 is, for example, a printer that prints an image on paper as a print medium. The image forming device 100 may also be a copier, a facsimile, or a multifunction device with multiple functions such as copying, scanning, and printing. The communication device may also be a device without a printing function.

[0014] Communication devices 200A and 200B are devices capable of communicating with image forming apparatus 100 via a network. Communication devices 200A and 200B are terminal devices such as personal computers (PCs), tablet terminals, and smartphones.

[0015] Image forming apparatus 100, communication device 200A, and communication device 200B exist on the same network 300. Network 300 may be either a wired or wireless network. Communication packets as data can be transmitted and received between image forming apparatus 100 and communication device 200A or 200B via network 300.

[0016] Image forming apparatus 100 has a MAC address filtering function. The MAC address filtering function is a function that enables image forming apparatus 100 to determine whether or not to permit communication with image forming apparatus 100 for each of one or more communication devices connected to network 300, using a registered MAC address, which is a MAC address (physical address) registered in a storage unit (storage unit 120 in FIG. 2, described later). Specifically, image forming apparatus 100 determines whether or not the MAC address held by communication device 200 as device setting information matches the registered MAC address stored in the storage unit (storage unit 120 in FIG. 2, described later), and if they match, permits communication with the communication device.

[0017] Communication device 200A has device setting information 201A used for communication, and communication device 200B has device setting information 201B used for communication. Each of communication devices 200A and 200B is also referred to as communication device 200. Although two communication devices 200 are shown in FIG. 1, the number of communication devices 200 included in communication system 10 is not limited to two. The number of communication devices 200 may be one. Furthermore, the number of communication devices 200 may be three or more.

[0018] Device setting information 201A includes a MAC address, which is a randomly changed number (numeric value), and a NetBIOS (Network Basic Input Output System) name as identification information unique to communication device 200A. Device setting information 201B includes a MAC address, which is a randomly changed number (numeric value), and a NetBIOS name as identification information unique to communication device 200B. In the first embodiment, the MAC address of communication device 200 is not a unique numeric value, but is a numeric value that is randomly changed using a MAC address randomization function, which is a well-known technology. The timing at which the MAC address is changed using the MAC address randomization function varies depending on the OS (Operating System) used by communication device 200 or the manufacturer of communication device 200. One example is communication device 200 that randomly changes its MAC address at regular time intervals (e.g., every 24 hours). Hereinafter, a MAC address that is randomly changed will also be referred to as a "random MAC address." Furthermore, communication devices without a MAC address randomization function may be connected to network 300.

[0019] A technique for realizing the MAC address randomization function is described in, for example, Non-Patent Document 1.

[0020] [Non-Patent Document 1] JC.Zuniga and 2 others, "draft-ietf-madinas-mac-address-randomization-02", published July 8, 2022, URL: https: / / datatracker.ietf.org / doc / pdf / draft-ietf-madinas-mac-address-randomization-02

[0021] 2 is a block diagram showing a schematic configuration of image forming apparatus 100. Image forming apparatus 100 includes a communication unit 110, a storage unit 120, a display unit 150, an operation unit 160, a printing unit 170 as an image forming unit, and a control unit 180 that controls the overall operation of image forming apparatus 100.

[0022] The communication unit 110 transmits and receives data to and from the communication device 200 via a wireless LAN (Local Area Network) or a wired LAN.

[0023] The storage unit 120 is a non-volatile storage device for permanently storing the filtering registration information 130 and the network path information 140 of the image forming apparatus 100. The storage unit 120 is, for example, a semiconductor memory. The storage unit 120 may be provided in an external device communicatively connected to the communication unit 110 of the image forming apparatus 100.

[0024] The display unit 150 is a display device having a display screen that presents information to the user. The display unit 150 is, for example, a liquid crystal display device. The operation unit 160 is, for example, an operation button or an operation panel that is operated by the user to input information when instructing image formation. The display unit 150 and the operation unit 160 may be an operation panel with a display function (i.e., a touch panel) that is integrally formed.

[0025] The printing unit 170 prints an image based on the data onto paper as a print medium. The printing unit 170 is, for example, an image forming unit that forms an image on paper using an electrophotographic process. The printing method employed by the printing unit 170 is not limited to a method that uses an electrophotographic process.

[0026] 3 is a diagram showing an example of filtering registration information 130 stored in storage unit 120 of image forming apparatus 100. Image forming apparatus 100 includes filtering registration information 130 as part of its setting information. As shown in FIG. 3, filtering registration information 130 includes a communication-permitted device number 130a for MAC filtering, which is a number assigned to a communication device 200 (also referred to as a "communication-permitted device") that is permitted to communicate with image forming apparatus 100, a registered MAC address 130b, which is the MAC address of the communication-permitted device, and a NetBIOS name 130c, which is identification information of the communication-permitted device. NetBIOS name 130c of the communication-permitted device may be included only when, for example, registered MAC address 130b of the communication-permitted device is randomly generated.

[0027] 4 is a block diagram showing a schematic configuration of communication device 200. Communication device 200 includes a communication unit 210 that transmits and receives data, a storage unit 220, a display unit 240, an operation unit 250, and a control unit 260 that controls the overall operation of communication device 200.

[0028] The communication unit 210 transmits and receives data (such as the MAC address and unique identification information of the communication device as device setting information) to and from the image forming apparatus 100 as a communication device via a wireless LAN or a wired LAN. The memory unit 220 is, for example, a storage device. The memory unit 220 is, for example, a non-volatile semiconductor memory. The display unit 240 is a display device having a display screen that presents information to the user. The display unit 240 is, for example, a liquid crystal display device. The operation unit 250 is, for example, an operation button, a keyboard, a mouse, or a touch panel for the user to input information for instructing printing.

[0029] 5 is a schematic diagram showing the processing of communication unit 110 and control unit 180 of image forming apparatus 100 that receives a communication packet from network 300. Explaining this in accordance with the TCP / IP (Transmission Control Protocol / Internet Protocol) hierarchical structure, image forming apparatus 100 includes communication unit 110 (including physical device 111 and driver 112) as a network interface layer. Image forming apparatus 100 also includes IP (Internet Protocol) communication processing unit 181 as an internet layer, socket (i.e., socket communication processing unit) 183 as a transport layer, and application layer 184 for implementing the functions of image forming apparatus 100. Application layer 184 includes HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol), and MAC filtering application 185. MAC filtering processing unit 182 performs filtering processing on the communication packet.

[0030] 6(A) and 6(B) are diagrams showing an example of the hardware configuration of image forming apparatus 100. Part or all of the control system of image forming apparatus 100 in FIG. 2 can be configured, for example, as shown in FIG. 6(A), with memory 190 and processor 191 such as a CPU (Central Processing Unit) that executes a communication program stored in memory 190. Such a communication program may be provided via network 300, or may be provided by being recorded on a recording medium on which information is recorded. In other words, such a communication program may be provided, for example, as a program product.

[0031] In addition, part or all of the control system of the image forming apparatus 100 in FIG. 2 can also be configured with a processing circuit 192 such as a single circuit, a composite circuit, a processor operated by a program, a parallel processor operated by a program, an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array), as shown in FIG. 6(B).

[0032] 《1-2》Operation FIG. 1 shows a state in which the image forming apparatus 100 has the filtering registration information 130 of FIG. 3, and the image forming apparatus 100 permits communication from the communication device 200A and communication from the communication device 200B.

[0033] 3 is registered by, for example, an operation by an administrator (or a user) of the image forming apparatus 100. During registration, the image forming apparatus 100 determines whether the registered MAC address 130b of the communication-permitted device is randomly generated. If it is randomly generated, the image forming apparatus 100 displays warning information on the display unit 150, which is a UI (User Interface) where the operation for registration is being performed.

[0034] 7 is a diagram showing an example of a notification screen displayed on display unit 150. Image forming apparatus 100 uses the notification screen to notify users that "the registered MAC address was randomly generated," "if the address is changed unintentionally in the future, communication may be filtered (communication may be disabled)," and "when the MAC address is changed, the registration information can be automatically updated by using the NetBIOS name of the device (i.e., by registering the NetBIOS name as well, unintentional communication refusal can be avoided)." The notification screen also displays a register button 151, which is an operation button for registering the NetBIOS name as filtering registration information 130, and a reject button 152, which is an operation button for not registering the NetBIOS name.

[0035] When the administrator of image forming apparatus 100 registers a new MAC address in filtering registration information 130, the NetBIOS name of the corresponding communication device is not registered in filtering registration information 130. When the corresponding communication device joins network 300, image forming apparatus 100 obtains and registers the NetBIOS name from the communication packet. Image forming apparatus 100 uses the MAC address registered in storage unit 120 for initial setting of the NetBIOS name.

[0036] 8 is a block diagram showing the configuration of communication system 10 including communication device 200A whose MAC address has been changed by the MAC address randomization function. The process will be described below when communication device 200A communicates with image forming device 100 via network 300 after device setting information 201A held by communication device 200A has been changed by randomly changing the MAC address from a state in which the registered MAC address and the NetBIOS name as identification information have been registered in storage unit 120.

[0037] When communication is performed from communication device 200A of FIG. 8 to image forming apparatus 100, image forming apparatus 100 receives the communication packet at communication unit 110 of FIG.

[0038] The communication packet is passed from the communication unit 110 to the IP communication processing unit 181. The IP communication processing unit 181 has a function of processing the IP header portion of the communication packet and passing the communication packet to the MAC filter processing unit 182.

[0039] FIG. 9 is a flowchart showing the processing performed when the MAC filter processing unit 182 receives a communication packet from the IP communication processing unit 181.

[0040] First, the MAC filter processing unit 182 receives a communication packet from the IP communication processing unit 181 (step S101).

[0041] The MAC filtering processor 182 determines whether the source MAC address of the communication packet received in step S101 is registered in the filtering registration information 130 in the storage unit 120 (step S102).

[0042] If the source MAC address is registered in the filtering registration information 130 and matches the registered MAC address (YES in step S102), the MAC filter processing unit 182 passes the communication packet to the socket 183 (step S106) and terminates the processing (step S107).

[0043] If the source MAC address is not registered in the filtering registration information 130 and does not match the registered MAC address (NO in step S102), the MAC filter processing unit 182 determines whether the source MAC address is a randomly generated MAC address (step S103).

[0044] If the source MAC address is randomly generated (YES in step S103), the MAC filter processing unit 182 stores information about the source MAC address of the communication packet in the storage unit 120 (step S105). If the source MAC address is not randomly generated but is unique to the communication device (NO in step S103), the MAC filter processing unit 182 does not pass the communication packet to the socket 183 so as not to perform any further processing, since the communication packet is from a communication device that is permitted to communicate (step S104).

[0045] 10 is a diagram showing specifications for randomizing a MAC address. The process of determining whether the source MAC address in FIG. 9 is a randomly generated random MAC address (step S103) can be performed according to the specifications in FIG.

[0046] The first octet, which is the most significant octet of a MAC address, defines the "G / L bit" (Global / Local bit) and the "I / G bit" (Individual / Group bit). In the case of a device-specific MAC address, rather than a random MAC address, these bits are "0" and "0" respectively. In contrast, in a random MAC address, the I / G bit is defined as "0" and the G / L bit is defined as "1".

[0047] 10, the first octet is expressed in binary as "b7," "b6," "b5," "b4," "b3," "b2," "b1," and "b0." When this first octet is expressed in hexadecimal, the first character of the hexadecimal notation corresponds to "b7," "b6," "b5," and "b4" in binary notation, and the second character of the hexadecimal notation corresponds to "b3," "b2," "b1," and "b0" in binary notation.

[0048] The "G / L bit" and "I / G bit" correspond to the second character of the binary notation, "b1" and "b0," respectively, and are defined as "1" and "0" as described above. Therefore, depending on the combination of the remaining two bits ("b3" and "b2") in the second character of the hexadecimal notation, the binary notation corresponding to the second character of the hexadecimal notation of the first octet is "0010," "0110," "1010," or "1110." When these two characters of the hexadecimal notation of the first octet are converted to hexadecimal notation, they become "2," "6," "A," or "E." Therefore, if the second character of the hexadecimal notation of the first octet is "2," "6," "A," or "E," the MAC address can be determined to be a random MAC address.

[0049] FIG. 11 is a flowchart showing the processing of the MAC filtering processing application 185 when the source MAC address information of a communication packet is stored in the storage unit 120 by the processing of step S105 of FIG.

[0050] The MAC filtering application 185 monitors the memory unit 120, and when it detects that source MAC address information has been stored (step S201), it sends a NetBIOS Name Service query (NBNS query), which is a communication packet requesting name resolution using the NBT (NetBIOS over TCP / IP) protocol using the NetBIOS name, to all of the NetBIOS names 130c registered in the filtering registration information 130 (step S202), and then terminates the processing (step S203).

[0051] FIG. 12 is a flowchart showing the processing of the MAC filter processing unit 182 when the IP communication processing unit 181 receives a communication packet and passes it to the MAC filter processing unit 182 after the NBNS query transmission processing (step S202) of FIG. 11 is performed.

[0052] When a communication packet is handed over from the IP communication processing unit 181 (step S301), the MAC filter processing unit 182 identifies the protocol used by the communication packet and determines whether the communication packet is an NBNS packet (step S302). If the communication packet is an NBNS packet (YES in step S302), the process proceeds to step S306, and if the communication packet is not an NBNS packet (NO in step S302), the process proceeds to step S101 in Fig. 9 (step S303).

[0053] 13 is a schematic diagram for explaining the structure of a communication packet. A communication packet includes an Ethernet header, an IP header, and TCP / UDP (Transmission Control Protocol / User Datagram Protocol). If the communication packet is an NBNS packet, the communication packet includes an NBT header.

[0054] Here, the MAC filter processing unit 182 can identify the protocol by referring to the destination port number in the TCP / UDP header. If the destination port number is "137", the communication packet is an NBNS packet, which is a communication packet that uses the NBT protocol.

[0055] 12, in step S304, the MAC filter processing unit 182 determines whether or not the source MAC address of the received communication packet matches the source MAC address of the communication packet stored in the storage unit 120 in step S105 of Fig. 9. If they do not match (NO in step S304), the process proceeds to step S305, and if they match (YES in step S304), the process proceeds to step S306.

[0056] In step S305, since the received communication packet (here, an NBNS packet) is not a communication packet from the communication device 200 being searched for, the MAC filter processing unit 182 discards the communication packet without passing it on to the socket 183 so as not to perform any further processing.

[0057] On the other hand, in step S306, the MAC filtering processor 182 changes the destination port number in the TCP / UDP header of the received communication packet so that the communication packet can be delivered to the MAC filtering application 185, which is the MAC filter controller.

[0058] Then, the MAC filtering processing unit 182 generates a communication packet by removing the Ethernet header and the IP header from the communication packet, and provides the communication packet to the socket 183 (step S307). Note that the socket 183 processes the header included in the communication packet from the MAC filtering processing unit 182, and delivers the data included in the payload excluding the communication packet to the MAC filtering processing application 185.

[0059] In addition, in step S304, if the MAC address of the source communication device included in the communication packet received via the network does not match (is different from) the registered MAC address, the MAC filter processing unit 182 can also perform a process of updating the registered MAC address to the MAC address of the source communication device (processing of step S404 in Figure 14 described below).

[0060] FIG. 14 is a flowchart showing the processing of the MAC filtering processing application 185 when a communication packet is handed over from the socket 183 to the MAC filtering processing application 185 after the processing of step S305 in FIG.

[0061] When the MAC filtering application 185 receives a communication packet from the socket 183 (step S401), it analyzes the received communication packet and extracts the NetBIOS name of the reply source of the NBNS communication (step S402).

[0062] The MAC filtering application 185 searches the NetBIOS name 130c using the extracted NetBIOS name as a key, and determines whether a matching communication device exists (step S403).

[0063] If it exists (YES in step S403), the MAC filtering processing application 185 updates the MAC address registered in the communication device 200 to the source MAC address of the communication packet received in step S401 (step S404), deletes the corresponding MAC address information from the memory unit 120, and terminates the processing (step S405).

[0064] If the MAC address does not exist (NO in step S403), the MAC filtering processing application 185 performs initial registration processing when a randomly generated MAC address whose NetBIOS name 130c is not registered has been registered in the filtering registration information 130. The MAC filtering processing application 185 extracts the source MAC address from the Ethernet header of the communication packet (step S406) and determines whether or not a MAC address matching the registered MAC address 130b in the filtering registration information 130 exists (step S407). If the MAC address exists (YES in step S407), the MAC filtering processing application 185 registers the source NetBIOS name of the communication packet extracted in step S402 as the NetBIOS name 130c of the corresponding communication device in the filtering registration information 130 (step S408). Thereafter, the MAC filtering processing application 185 deletes the corresponding MAC address information from the storage unit 120. If the MAC address does not exist (NO in step S407), the MAC filtering processing application 185 terminates the processing without doing anything.

[0065] By performing the above process, in filtering registration information 130, as shown in Fig. 15, registered MAC address 130b of the first communication permitted device with communication permitted device number 130a by MAC filtering is corrected to match device setting information 201A of communication device 200A in Fig. 6. After this, communication device 200A can communicate with image forming apparatus 100 until the MAC address of communication device 200A is changed again.

[0066] FIG. 16 is a sequence diagram showing the operations of communication device 200A and image forming device 100 when a print request is made to image forming device 100 after the MAC address of communication device 200A has been randomly changed.

[0067] Communications device 200A transmits a TCP (Transmission Control Protocol) connection establishment request to exchange print data with image forming device 100 (step S500). The MAC address of communications device 200A, which is the sender of the TCP connection establishment request, has been randomly changed and is therefore not registered in filtering registration information 130 of image forming device 100. Therefore, communication in step S500 is rejected (step S501). Step S501 corresponds to "NO" in step S102 of FIG. 9, and the processes of steps S103 and S104 are executed.

[0068] Image forming device 100 transmits an NBNS query using the NetBIOS name of filtering registration information 130 (step S502); this process corresponds to step S202 in Fig. 11. Communications device 200A replies to the NBNS query inquiring about its own NetBIOS name (step S503). Upon receiving the communication of step S503, image forming device 100 updates the registered MAC address in filtering registration information 130 (step S504). This process corresponds to the processes in Figs. 10 and 11.

[0069] Since the communication device 200A did not receive a response to the TCP connection establishment request in step S500, the communication device 200A retransmits the TCP connection establishment request (step S505). At this time, the MAC address of the communication device 200A is registered in the filtering registration information 130 of the image forming device 100, so the communication is not rejected and an acknowledgement is returned (step S506).

[0070] At this time, the changed MAC address of communications device 200A is registered in the MAC filtering registration information of image forming device 100, so MAC filtering processing unit 182 does not reject communication, and control unit 180 of image forming device 100 returns an acknowledgement (step S506). After that, general TCP communication and transmission and reception of print data are performed between communications device 200A and image forming device 100, and printing is performed (steps S507 to S512).

[0071] Effect 1-3 As described above, by identifying communication device 200A using the NetBIOS name, even if the MAC address of communication device 200A is changed randomly, the MAC address registered in the MAC filtering registration information can be updated as appropriate. This allows communication device 200A to continue communicating even if the MAC address is changed randomly.

[0072] This allows the widely used MAC address filtering functionality to be utilized even when random MAC addresses are used.

[0073] As described above, by using the method of embodiment 1 to identify a communication device using its NetBIOS name, even if the MAC address of one of the communication devices 200 is changed randomly, continuous communication is possible by appropriately updating the MAC filtering registration information.

[0074] 2. Second Embodiment 2-1 Configuration Image forming apparatus (communication apparatus) 100 according to the second embodiment is the same as the image forming apparatus according to the first embodiment, except for the control content of control unit 180. Therefore, in describing the second embodiment, reference will also be made to Figures 1 to 16 used in the description of the first embodiment.

[0075] In the first embodiment, even if the MAC address (random MAC address) in the device setting information changed by the MAC address randomization function of communication device 200 does not match the registered MAC address stored in storage unit 120 of image forming apparatus 100, communication device 200 transmits a communication packet. In contrast, in the second embodiment, image forming apparatus 100 serving as a communication device updates the registered MAC filter before receiving data from communication device 200 if there is a high possibility that the MAC address has been randomized. For example, when control unit 180 detects a predetermined signal broadcast to network 300, it updates the registered MAC address using registered identification information, which is an identification number registered as filtering registration information 130. The predetermined signal is, for example, a gratutious ARP (Address Resolution Protocol).

[0076] Specifically, image forming apparatus 100 as a communication device has a storage unit 120 that stores the MAC address and unique identification information of one or more communication devices 200 present on network 300 as registered MAC address 130b and NetBIOS name 130c as registered identification information, respectively. Image forming apparatus 100 also has a control unit 180 that permits communication with a source communication device when the MAC address of the source communication device included in a communication packet received via network 300 matches registered MAC address 130b. When control unit 180 detects a predetermined signal (e.g., Gratutious ARP) broadcast to network 300, it updates registered MAC address 130b using NetBIOS name 130c as registered identification information.

[0077] When the MAC address of the source communication device 200 is a random MAC address that is randomly changed by the source communication device, the control unit 180 can update the registered MAC address 130b using the NetBIOS name 130c as the registration identification information.

[0078] Furthermore, the control unit 180 can broadcast a request using the NetBIOS name 130c as registration identification information to the network 300, and update the registered MAC address by receiving a response to this request.

[0079] 《2-2》Operation In the second embodiment, as in the first embodiment, the image forming apparatus 100 has the filtering registration information 130 of FIG. 3 and is in a state where communication from the communication devices 200A and 200B is permitted. The image forming apparatus 100 is a communication apparatus capable of implementing the communication method according to the second embodiment. The image forming apparatus 100 is also a communication apparatus capable of executing the communication program according to the second embodiment.

[0080] In the second embodiment, similarly to the first embodiment, the filtering registration information 130 in Fig. 3 is registered by an operation by the administrator (or user) of the image forming apparatus 100. The control unit 180 determines whether the MAC address of the communication-permitted device input at the time of registration is randomly generated. If it is randomly generated, the control unit 180 causes the display unit 150 to display in the registration UI (User Interface) that the MAC address to be registered is randomly generated and may be changed unintentionally, and that unintentional communication refusal can be avoided by also registering the NetBIOS name in the filtering registration information 130, and warns that the NetBIOS name will be used in the image forming apparatus 100 (Fig. 7).

[0081] In the second embodiment, as in the first embodiment, when a new MAC address is registered in filtering registration information 130, the NetBIOS name of the corresponding communication device is not registered in filtering registration information 130, and control unit 180 acquires and registers the NetBIOS name from the communication packet when the corresponding communication device 200 joins network 300 (described later). Control unit 180 stores the registered MAC address in storage unit 120 for use in initializing the NetBIOS name.

[0082] In the second embodiment, as in the first embodiment, the processing performed when communication from communication device 200A to image forming device 100 via the network is described when device setting information 201A held by communication device 200A is changed from this state to the device setting information of communication device 200A in FIG. 8 by randomly changing the MAC address.

[0083] In the second embodiment, as in the first embodiment, when communication is made from communication device 200A of FIG. 8 to image forming apparatus 100, image forming apparatus 100 receives a communication packet at communication unit 110 of FIG. 5.

[0084] In the second embodiment, the communication packet is passed from the communication unit 110 to the IP communication processing unit 181, as in the first embodiment.

[0085] In the second embodiment, the IP communication processing unit 181 processes the IP header portion of the communication packet and passes the communication packet to the MAC filter processing unit 182, as in the first embodiment.

[0086] In the second embodiment, when the MAC filter processing unit 182 receives a communication packet from the IP communication processing unit 181, it performs the processing of the flowchart in FIG. 17 before performing the processing of the flowchart in FIG.

[0087] The MAC filtering processor 182 receives a communication packet from the IP communication processor 181 (step S601). The MAC filtering processor 182 determines whether the communication packet is a predetermined signal (predetermined communication packet) broadcast to the network 300. Specifically, the MAC filtering processor 182 determines whether the received communication packet is a Gratutious Address Resolution Protocol (ARP) (step S602).

[0088] 13, if the type of the Ethernet header is "0806" and the destination MAC address is "FF:FF:FF:FF:FF:FF:FF", the MAC filtering processor 182 determines that the communication packet is a Gratutious ARP (YES in step S602), and the process proceeds to step S603 and subsequent steps. Otherwise (NO in step S602), the MAC filtering processor 182 executes the process of step S102 in FIG. 9 (step S604).

[0089] Next, the MAC filtering processor 182 determines whether the device setting information 201A, 201B is registered in the filtering registration information 130, and if so (YES in step S603), passes the communication packet to the socket 183 (step S605). If the device setting information 201A, 201B is not registered (NO in step S603), the MAC filtering processor 182 determines whether the source MAC address is a randomly generated MAC address, and if so (YES in step S606), stores the source MAC address in the storage unit 120 (step S607). If the MAC address is not a randomly generated MAC address (NO in step S606), the MAC filtering processor 182 determines that the communication packet is from a communication device that is not permitted to communicate, and therefore does not perform any further processing, and therefore does not pass the communication packet to the socket 183 (step S608).

[0090] FIG. 9 shows processing that the MAC filter processor 182 performs after executing the processing of the flowchart in FIG. 17 (NO in step S602).

[0091] The MAC filtering processor 182 receives a communication packet from the IP communication processor 181 (step S101). The MAC filtering processor 182 determines whether the source MAC address of the communication packet received in step S101 is registered in the filtering registration information 130 (step S102). If the source MAC address is registered (YES in step S102), the MAC filtering processor 182 passes the communication packet to the socket 183 (step S106) and terminates the processing of the MAC filtering processor 182 (step S107).

[0092] If it is not registered (NO in step S102), the MAC filter processing unit 182 determines whether the source MAC address is a randomly generated MAC address (step S103). If it is a randomly generated MAC address (YES in step S103), the MAC filter processing unit 182 stores information about the source MAC address of the communication packet in the storage unit 120 (step S105). If it is not randomly generated but is unique to the communication device 200 (NO in step S103), the communication packet is a communication packet from a communication device that is permitted to communicate, and the MAC filter processing unit 182 does not pass the communication packet to the socket communication processing unit so as not to perform any further processing (step S104).

[0093] FIG. 11 is a flowchart showing the processing of the MAC filtering processing application 185 when the source MAC address information of a communication packet is stored in the storage unit 120 by the processing in step S607 in FIG. 17 and the processing in step S105 in FIG.

[0094] The MAC filtering processing application 185 monitors the memory unit 120, and when it detects that source MAC address information has been stored (step S201), it sends a communication packet (hereinafter referred to as an NBNS query) requesting name resolution using the NBT (NetBIOS over TCP / IP) protocol for all NetBIOS names 130c registered in the filtering registration information 130 (step S202), and then terminates the processing (step S203).

[0095] FIG. 12 is a flowchart showing the processing of the MAC filter processing unit 182 when the IP communication processing unit 181 receives a communication packet and passes it to the MAC filter processing unit 182 after the NBNS query transmission processing (step S202) of FIG. 11 is performed.

[0096] When a communication packet is handed over from the IP communication processing unit 181 (step S301), the MAC filter processing unit 182 identifies the protocol used by the communication packet (step S302). In the second embodiment, the MAC filter processing unit 182 identifies the communication device 200 using the NetBIOS name. Fig. 13 is a schematic diagram showing the structure of a communication packet, and it is possible to identify the protocol by referring to the destination port number in the TCP / UDP header. If the destination port number is 137, this communication packet is a communication packet that uses the NBT protocol.

[0097] If the protocol of the received communication packet is not NBT (NO in step S302), the MAC filter processing unit 182 executes the process of step S101 in Fig. 8 (step S303). If the protocol of the received communication packet is NBT (YES in step S302), the MAC filter processing unit 182 determines whether the source MAC address matches the MAC address left in the storage unit 120 in the process of step S105 (step S304).

[0098] If they do not match (NO in step S304), the MAC filtering processor 182 terminates the process without passing the communication packet to the socket 183 so as not to perform any further processing (step S305). If they match (YES in step S304), the MAC filtering processor 182 changes the destination port number in the TCP / UDP header so that the communication packet can be delivered to the MAC filtering application (step S306). The MAC filtering processor 182 passes the communication packet to the socket 183 (step S307) and terminates the process.

[0099] FIG. 14 is a flowchart showing the processing of the MAC filtering processing application 185 when a communication packet is handed over from the socket 183 to the MAC filtering processing application 185 after the processing of FIG. 12 (step S305).

[0100] When the MAC filtering application 185 receives a communication packet from the socket 183 (step S401), it analyzes the received communication packet and extracts the NetBIOS name of the reply source of the NBNS communication (step S402).

[0101] The MAC filtering application 185 searches the NetBIOS name 130c using the extracted NetBIOS name as a key, and determines whether a matching communication device exists on the network 300 (step S403).

[0102] If it exists (YES in step S403), the MAC filtering processing application 185 updates the MAC address registered in the communication device to the source MAC address of the communication packet received in step S401 (step S404), deletes the corresponding MAC address information from the memory unit 120 (step S405), and terminates the processing (step S409).

[0103] If the MAC address does not exist (NO in step S403), the MAC filtering processing application 185 performs an initial registration process for when a randomly generated MAC address whose NetBIOS name 130c is not registered has been registered in the filtering registration information 130. As the initial registration process, the MAC filtering processing application 185 extracts a source MAC address from the Ethernet header of the communication packet (step S406) and determines whether or not a MAC address matching the registered MAC address 130b in the filtering registration information 130 exists (step S407). If the MAC address exists (YES in step S407), the MAC filtering processing application 185 registers the source NetBIOS name of the communication packet extracted in step S402 as the NetBIOS name 130c of the corresponding communication device in the filtering registration information 130 (step S408), and then deletes the corresponding MAC address information from the storage unit 120 (step S410). If the MAC address does not exist (NO in step S407), the MAC filtering processing application 185 terminates the process without doing anything (step S409).

[0104] FIG. 16 is a sequence diagram showing communication between communication device 200A and image forming device 100 when the MAC address of communication device 200A is registered in filtering registration information 130, the MAC address of communication device 200A is randomly changed, and a print request is made to image forming device 100.

[0105] Communications device 200A transmits a TCP connection establishment request to exchange print data with image forming device 100 (step S500). The MAC address of communications device 200A, which is the sender of the TCP connection establishment request, has been randomly changed and is therefore not registered in filtering registration information 130 of image forming device 100. Therefore, communication in step S500 is rejected (step S501). Step S501 corresponds to "NO" in step S102 in FIG. 9, and the processes of steps S103 and S104 are executed.

[0106] Image forming device 100 transmits an NBNS query using the NetBIOS name of filtering registration information 130 (step S502); this process corresponds to step S202 in Fig. 11. Communications device 200A replies to the NBNS query inquiring about its own NetBIOS name (step S503). Upon receiving the communication of step S503, image forming device 100 updates the registered MAC address in filtering registration information 130 (step S504). This process corresponds to the processes in Figs. 10 and 11.

[0107] Since the communication device 200A did not receive a response to the TCP connection establishment request in step S500, the communication device 200A retransmits the TCP connection establishment request (step S505). At this time, the MAC address of the communication device 200A is registered in the filtering registration information 130 of the image forming device 100, so the communication is not rejected and an acknowledgement is returned (step S506).

[0108] At this time, the changed MAC address of communications device 200A is registered in the MAC filtering registration information of image forming device 100, so MAC filtering processing unit 182 does not reject communication, and control unit 180 of image forming device 100 returns an acknowledgement (step S506). After that, general TCP communication and transmission and reception of print data are performed between communications device 200A and image forming device 100, and printing is performed (steps S507 to S512).

[0109] According to the above embodiment, by using the NetBIOS name to identify the communication device 200, even if the MAC address of the communication device 200 is changed randomly, it is possible to appropriately update the MAC address registered in the filtering registration information 130. This allows communication to continue even if the MAC address is changed randomly.

[0110] Figure 18 is a sequence diagram showing communication between communication device 200A and image forming device 100 when an SNMP (Simple Network Management Protocol) Get Request is executed to image forming device 100 as an example of communication using the UDP protocol after the MAC address of communication device 200A is randomly changed.

[0111] The communications device 200A sends a Gratutious ARP to check whether its own IP address is being used in duplicate in the network environment (step S701).

[0112] The image forming apparatus 100 detects the Gratutious ARP communication packet and executes the process of step S702. Step S702 corresponds to the process when YES is determined in step S602 of Fig. 17, and the processes from step S603 onwards are executed.

[0113] Image forming device 100 transmits an NBNS query using the NetBIOS name in filtering registration information 130 (step S703); this process corresponds to step S202 in Fig. 11. Communications device 200A transmits an NBNS reply, which is a reply to the NBNS query inquiring about its own NetBIOS name (step S704). Upon receiving the communication in step S704, image forming device 100 updates filtering registration information 130 (step S705). This process corresponds to the processes in Figs. 10 and 11.

[0114] The communication device 200A transmits an SNMP Get Request to obtain the filtering registration information 130 of the image forming device 100 (step S706).

[0115] Since the filtering registration information 130 of the image forming apparatus 100 has already been updated and is in a state where communication from the communication device 200A is permitted, the image forming apparatus 100 replies by transmitting an SNMP Get Response (step S707).

[0116] In the first embodiment, it is assumed that the communication from the communications device 200A is TCP, and therefore the communication in step S500 is discarded in the hope that a retransmission process like step S505 in FIG. 16 will be performed.

[0117] In the first embodiment, if the communication at the timing of step S501 is UDP (User Datagram Protocol), UDP does not guarantee that retransmission processing will be performed due to the protocol specifications, and therefore image forming apparatus 100 will not return a response, and will therefore not be able to respond to necessary information such as an inquiry about billing information from communication device 200A or a change in device settings of image forming apparatus 100. Fig. 19 is a sequence diagram showing the operation when a setting value acquisition request is received by SNMP using UDP.

[0118] In the second embodiment, the Gratutious ARP is detected to update the filtering registration information 130. This is a communication sent at a time when the MAC address is likely to be changed randomly, such as when an IP address is reacquired after a long time has passed in an environment using a DHCP (Dynamic Host Configuration Protocol) server, or when a device is disconnected from and then reconnected to a network environment.

[0119] 2-3 Effects As described above, according to the communication device or communication method of embodiment 2, it is possible to prevent necessary communication packets from being discarded by updating filtering registration information 130 in advance at a time when there is a high possibility that the MAC address of communication device 200A has been randomly changed.

[0120] 3. Variations In the first and second embodiments, the MAC address is updated using the NetBIOS name, but the device identification information used is not limited to this. The device identification information may be other information, such as a host name in Bonjour (registered trademark), a software program for configuring devices on a local network.

[0121] Furthermore, the configurations of the first and second embodiments can be combined as appropriate. [Explanation of symbols]

[0122] 10 communication system, 100 image forming device (communication device), 110 communication unit, 120 memory unit, 130 filtering registration information, 130b MAC address (registered MAC address), 130c NetBIOS name (registration identification information), 150 display unit, 160 operation unit, 170 printing unit, 180 control unit, 181 IP communication processing unit, 182 MAC filter processing unit, 183 socket, 185 MAC filter processing application, 200, 200A, 200B communication device, 201A, 201B device setting information, 210 communication unit, 220 memory unit, 240 display unit, 250 operation unit, 300 network.

Claims

1. a storage unit that stores MAC addresses and unique identification information of communication devices present on a network as registered MAC addresses and registered identification information, respectively; a control unit that allows communication with a source communication device when a MAC address of the source communication device included in a communication packet received via the network matches the registered MAC address; and The control unit updates the registered MAC address using the registration identification information when detecting a predetermined signal broadcast to the network. A communication device comprising:

2. The predetermined signal is a communication packet including a Gratuitous Address Resolution Protocol.

2. The communication device according to claim 1.

3. When the MAC address of the communication device of the source is a random MAC address that is randomly changed by the communication device of the source, the control unit updates the registered MAC address using the registration identification information.

3. The communication device according to claim 1 or 2.

4. The control unit broadcasts a request using the registration identification information to the network, and updates the registered MAC address by receiving a response to the request.

3. The communication device according to claim 1 or 2.

5. 1. A communication method performed by a communication device, comprising: storing the MAC address and unique identification information of a communication device present on the network in a storage unit as a registered MAC address and registered identification information, respectively; permitting communication with the source communication device when a MAC address of the source communication device included in a communication packet received via the network matches the registered MAC address; updating the registered MAC address using the registration identification information when a predetermined signal broadcast to the network is detected; A communication method comprising:

6. 1. A communication method performed by a communication device, comprising: storing the MAC address and unique identification information of a communication device present on the network in a storage unit as a registered MAC address and registered identification information, respectively; determining whether or not a MAC address of a source communication device included in a communication packet received via the network matches the registered MAC address; If the MAC address of the communication device of the source included in the communication packet is different from the registered MAC address, updating the registered MAC address to the MAC address of the communication device of the source; A communication method comprising:

7. storing the MAC address and unique identification information of a communication device present on the network in a storage unit as a registered MAC address and registered identification information, respectively; permitting communication with the source communication device when a MAC address of the source communication device included in a communication packet received via the network matches the registered MAC address; updating the registered MAC address using the registration identification information when a predetermined signal broadcast to the network is detected; A communication program that causes a communication device to execute the above.

Citation Information

Patent Citations

  • Information processing device

    JP2014127838A