DNS RELAY MODULE IN A DIGITAL NETWORK MODEM

Abstract: The digital network modem has a DNS Relay Module which answers requests for IP addresses using a local store of domain and host names with corresponding IP addresses and forwards the requests to an external DNS if the domain or host name requested is not stored in the local store of addresses. Also, if the numeric address requested is local and in a list of local computer names, the DNS relay module replies to the request acting as a local DNS server. This DNS relay module increases the speed of the request/reply sequence and does not automatically forward all numeric address requests to an external DNS located on a network.

Description: DNS RELAY MODULE IN A DIGITAL NETWORK MODEM Field of the Invention The present invention relates to a digital network modem, such as an ISDN or a DSL modem, and more particularly, pertains to a digital network modem with a domain name server relay module. Background of the Invention To facilitate accessing and locating computers on a TCP/IP network, a Domain Name Service (DNS) is used. This name resolution software enables users to refer to computers by domain name or host names. The DNS server maintains a database of domain names (host names) and their corresponding IP addresses. In an Internet Protocol (IP) network, the application queries a DNS to turn the name of the machine it wishes to communicate with into its IP address. NET work Basic Input Output System (NetBIOS) is an application programming interface that augments the DOS BIOS by adding special functions for LANs. It is the native networking protocol in DOS and Windows networks. NetBIOS computers are identified by a unique 15-character long name, and Windows machines (NetBIOS machines) periodically broadcast their names on the network so that Network Neighborhood can catalog them. WINS (Windows Internet Naming Service) runs on Windows NT Server-based networks. It is a service that keeps a database of computer name-to-IP address mappings so that the NetBIOS computer names used in Windows network environments can be mapped to IP addresses when the underlying network is IP-based. When a user needs to access some computer, the NetBIOS name is referenced, and this name is handed to the nearest WINS server, which then returns an IP address. WINS is almost completely automatic from an administrative point of view. It builds its own database over time and automatically updates itself. Computer networks are being installed in more and more residential, office and industrial environments, and the increase in the number of such networks has increased the need for skilled technicians required to configure and maintain such networks. Any simplification of the task of network management is important from the perspective of both increased reliability and reduced training for the network manager. A Local Area Network (LAN) is a communications network that serves users within a confined geographical area. It is made up of servers, workstations, a network operating system and a communications link. A problem arises when a station on a LAN is requesting an IP address using a domain or host name, especially on small networks when no local DNS is available. The DNS specified for the station will receive the request for the IP address and a connection to the Internet or to an external network will be made to reach the DNS server which will also try to find the domain or host name by verifying the existence of such a domain. In the case where the machine intended was on the LAN, the connection to the external network has caused unnecessary overhead in connection time and costs. A second problem arises when a station often requests the same external IP address. The DNS must always be contacted through a connection to the external network to reply with the correct IP address. If these repeated connections are in a reduced period of time, it would most probably be unnecessary to request the IP address every time the domain name is to be contacted. This problem slows the connection causing unnecessary costs. Summary of the Invention It would be advantageous to have a DNS on a digital modem, which would readily recognize communication requests between users of the LAN and reply locally while acting as a "local" DNS. It would also be advantageous to have a DNS on a digital modem which would forward the requests for external network addresses to an external DNS and which would keep an up-to-date list of the replies received from the external DNS in order to rapidly answer a request for the same IP address at a later time. It is therefore an object of the invention to provide a DNS relay module that provides a rapid response to domain name requests from a local store of IP addresses. It is also an object of the present invention to provide a DNS relay module that replies to internal Domain name requests by acting as a local DNS using a list of local hosts names automatically built by looking at NetBIOS over IP packets sent by Windows stations. It is furthermore an object of the present invention to provide a DNS relay module that forwards IP address requests to an external DNS. It is equally an object to provide such a DNS relay module that manages the sending of requests to more than one external DNSs in a manner transparent to the LAN clients to provide better efficiency. It is also an object of the present invention to provide a DNS relay module that fetches, from the local store of IP addresses, the ISDN channel on which the communication should be sent. According to the invention, there is provided a network modem device connecting a Local Area Network (LAN) to a remote network, comprising a local store containing a list of domain or host names and attribute data and a Domain Name Service (DNS) relay module. This DNS relay module uses the list and the attribute data to respond to requests for a numeric address in response to a domain name, when the domain name requested is on the list and generates a DNS request to an external DNS on the remote network and returns a reply from the external DNS to respond to the request for a numeric address when the domain name requested is not on the list. The attribute data can be a numeric address (such as an IP address). According to a preferred embodiment of the present invention, the attribute data identifies a domain or host name as a local station on the LAN and the DNS relay module, when the domain or host name is identified as a local station on the LAN, replies locally to said request. According to another preferred embodiment of the present invention, the DNS delay module listens to NetBIOS Over IP packets of information, extracts local computer names and IP addresses from the packets and adds these computer names and IP addresses to the list of domain names. According to another preferred embodiment of the present invention, the list comprises domain names looked-up on the external DNS and the DNS relay module automatically adds to this list of domain names looked-up on the external DNS, an entry corresponding to the reply from the external DNS. According to another preferred embodiment of the present invention, the list comprises both domain names looked-up on an external DNS with corresponding attribute data and host names declared on the LAN with corresponding attribute data. The invention also provides a method for relaying DNS requests on a LAN comprising 1. analyzing requests for a numeric address in response to a domain name using a local store containing a list of domain or host names and attribute data, 2. generating a DNS request to an external DNS on the remote network and returning a reply from the external DNS to respond to the request for a numeric address when the domain name requested is not on the list and 3. replying to the request using the attribute data when the domain name requested is on the list. Brief Description of the Drawings The invention will be better understood by way of the following detailed description of a preferred embodiment with reference to the appended drawings, in which: Fig. 1 is a schematic block diagram of the DNS Relay Module used in a digital modem. Detailed Description of the Preferred Embodiment As illustrated in Fig. 1, the digital modem 10 according to the preferred embodiment is an ISDN modem having a plurality of functional components shown in Fig. 1. The separation of components illustrated in the separate blocks in Fig. 1 is for the purposes of illustration only, and does not necessarily reflect the physical separation of components in the real device which is built from both hardware and software/firmware components. Modem 10 acts as a router or gateway to a remote network via, in the preferred embodiment, an ISDN connection 20. In the preferred embodiment, one channel of the ISDN line is connected to an Internet Service Provider (ISP) for Internet access, while the other channel is connected to a "private" intranet. When the modem 10 is connected to the Ethernet local area network (LAN) 22 and powered up, a LAN interface 12 and a System Tray / Modem Monitor 26 become active. The modem 10 includes a router 18 which communicates over connection 20 and with LAN interface 12. In operation, the modem 10 directs data traffic via router 18 onto the selected ISDN channel 20. Devices on LAN 22 send packets of information to one of the ISDN channels by sending a packet addressed to the modem 10 with the desired destination IP address and message content contained in the packet. The router 18 forwards the message on one of the ISDN channels to the desired IP address. In the reverse direction, router 18 receives packets from lines 20 and determines the desired destination on LAN 22, and forwards the packets via interface 12 on LAN 22 with the correct desired destination address. In the preferred embodiment in which one channel is used for the intranet and the other for the Internet, router 18 also switches packets received from the LAN 22 based on the desired address either to the Internet channel or the intranet channel. Of course, both channels could be used for intranet or Internet purposes, or even for connecting to a different type of data network. Modem 10 includes, in the preferred embodiment, a DNS relay module 19. From the devices' point of view on the LAN 22, DNS Relay Module 19 becomes the primary DNS that they can refer to. Thus, in accordance with TCPUP, when an address is requested by domain name or host name, instead of using an IP address, the device sends a request to the DNS for the IP address for the domain or host name. The DNS relay module 19 is however not a full DNS. The advantage of identifying module 19 as a DNS for the devices on the LAN 22 is that module 19 can contain lists of frequently-used domain names and can give specific responses immediately for those domain names, while other domain name requests can be passed on to a remote DNS, such as an ISP DNS. Furthermore, the domain name for an internal corporate domain name may be contained in module 19 or in a readily accessible list. For the requests to an internal corporate domain name, the IP address is returned directly instead of using the ISP DNS constantly. Fewer requests to the ISP DNS means faster service. Also, some intranet addresses may not be known to the outside world (private addresses) and the ISP DNS, for example. The DNS relay module 19 is also used to route the DNS requests to the Intranet DNS or the ISP DNS. In the preferred embodiment of the present invention, the DNS Relay Module 19 compares the request from a station (24,30,32) on LAN 22 with at least one list. The list 15 can be configured and built by the Network Administrator using the Configuration station 24. Examples of useful lists are the following: a list of frequently-accessed domains, a list 15 of Domain names recently looked up on an external DNS, another list 16 of computer names declared on the LAN automatically built by looking at NetBIOS Over IP packets. These lists comprise the name of the domain or computer requested and the corresponding IP address. These lists would be consulted by the DNS Relay Module in an order appropriate for fastest results. In a preferred embodiment, the DNS Relay Module 19 consults two of these lists: the list 15 of domain names looked-up on an external DNS and the list 16 of computer names declared on its LAN. And, also in a preferred embodiment, the DNS consults the list 16 of computer names first, before consulting the list 15 of domain names. These lists can be built up in many ways. A first manner is to make a new entry in the lists each time an IP address unknown from the lists is returned by the external DNS. In the case that the domain name or host name requested by a device on the LAN 22 is unknown to the DNS Relay Module 19 (i.e. it does not appear on any of its lists), the DNS Relay Module 19 forwards the request to an external DNS such as an ISP DNS. The DNS Relay Module 19 records the answer sent from the ISP DNS back to the device on the LAN 22 and adds this entry to one of its lists. These new entries can have an "expiry date". The life of an IP address can be set, for example, for one day. After a day, the DNS Relay Device 19 would forward the request to an external DNS as if the entry did not exist in the list and would record the reply. Since the local store on which these addresses are stored can be a stack, a First In, First Out queue could provide best results. Also, it should be possible at any time to reset these lists. When the table or list is full, the older entry is overwritten by the new one. The possibility of an overflow of addresses can also be eliminated by limiting the list to a certain amount of entries. A second manner to make a new entry is to manually edit the lists. Only authorized users such as network administrators should be able to look at and edit the lists using the System Tray / Modem Monitor interface 26. These lists could be maintained manually for known changes in domain names or computer names. DNS relay module 19 can also make use of the NETBIOS Over IP protocol supported in Microsoft Operating systems (Windows 95, 98 and NT). Using this protocol, the stations (24,30,32) on the LAN 22 advertise their computer (host) names and IP addresses. By intercepting these packets, the DNS relay module 19 can learn the DNS name of the PCs on the local LAN 22 and can store this information in a list (16). When a request for an IP address corresponding to an entry in that list is made, the DNS relay module replies to the request while acting as a local DNS. In the preferred embodiment where one channel is for the Internet and the other channel is for the intranet, the DNS relay module 19 only routes DNS requests , based on the domain name included inside the request. For example, xxx.mycompany.com would be identified as an intranet address and xxx.ibm.com would be referred as an Internet address. Any other packets are routed by (18). Of course, once the DNS Relay Module 19 has returned an IP address for the domain or computer name to the station, the communications request will be routed by router 18 to the appropriate channel of ISDN connection 20, either intranet or internet. The DNS relay module 19 can also contain two or more external DNS addresses. When a request for a domain name that was sent to the external DNS fails for a certain amount of failures (preferably only after two failures), the module 19 switches to using another one of the plurality of external DNS addresses. In this way, greater reliability and efficiency for accessing domain names from the LAN 22 is afforded. The stations (24,30,32) on the LAN 22 only need to know one DNS address, that of the DNS Relay Module 19 while in fact they have the benefit of multiple DNS working for them. While the invention has been described in connection with specific embodiments thereof, it will be understood that it is capable of further modifications and this application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains and as may be applied to the essential features hereinbefore set forth, and as follows in the scope of the appended claims.

Claims: CLAIMS 1. A network modem device connecting a Local Area Network (LAN) to a remote network, comprising: a local store containing a list of domain or host names and attribute data; and a Domain Name Service (DNS) relay module using said list and said attribute data to respond to requests for a numeric address in response to a domain name, when said domain name requested is on said list and generating a DNS request to an external DNS on said remote network and returning a reply from said external DNS to respond to said request for a numeric address when said domain name requested is not on said list. 2. A network modem device as claimed in claim 1, wherein said attribute data is an IP address. 3. A network modem device as claimed in claim 1, wherein said attribute data identifies a domain or host name as a local station on said LAN and said DNS relay module, when said domain or host name is identified as a local station on said LAN, replies locally to said request. 4. A network modem device as claimed in claim 1, wherein said Domain Name Server relay module is connected to a router and wherein said router is connected to at least one ISDN channel. 5. A network modem device as claimed in claim 4, wherein said router is connected to two ISDN channels: one for the intranet and one for the Internet. 6. A network modem device as claimed in claim 3, wherein said DNS delay module listens to NetBIOS Over IP packets of information, extracts local computer names and associated IP addresses from said packets, adds said computer names and associated IP addresses to said list of domain names. 7. A network modem device as claimed in claim 2, wherein said list is a list of domain names looked-up on the external DNS, and said DNS relay module automatically adds to said list of domain names looked-up on the external DNS, an entry corresponding to said reply from said external DNS. 8. The device according to claim 1, wherein said device is a digital network modem. 9. The device according to claim 8, wherein said device is an ISDN modem. 10. The device according to claim 1, wherein said list comprises : a list of domain names looked-up on an external DNS with corresponding attribute data; and a list of host names declared on said LAN with corresponding attribute data. 11. The device according to claim 1 , wherein said external DNS is one of a group of external DNSs. 12. The device as claimed in claim 1, wherein said list of domain names and attribute data has an expiry date and time, and said DNS relay module comprises a mechanism for requesting from an external DNS a newly fetched numeric address for said domain name when a next request for said domain name will be received, for restoring said newly fetched numeric address as the at ribute data for said domain name in said list and for refreshing said expiry date and time. 13. A method for relaying DNS requests on a LAN comprising: analyzing requests for a numeric address in response to a domain name using a local store containing a list of domain or host names and attribute data; generating a DNS request to an external DNS on said remote network and returning a reply from said external DNS to respond to said request for a numeric address when said domain name requested is not on said list; replying to said request using said attribute data when said domain name requested is on said list. 14. A method as claimed in claim 13, wherein said attribute data identifies a domain name as a domain name for a device on said LAN. 15. A method as claimed in claim 13, wherein said replying involves not requesting a numeric address on said external DNS and responding to said request with a numeric address corresponding to said domain or host name. 16. A method as claimed in claim 13, wherein said attribute data is an IP address. 17. A method as claimed in claim 14, further comprising steps of listening to NetBIOS Over IP packets of information, extracting local computer names and IP addresses from said packets and adding said computer names and IP addresses to said list of domain names. 18. A method as claimed in claim 17, wherein said list of computer names declared on the LAN is automatically built using packets of information sent by stations on said LAN using NetBIOS Over IP protocol in which said station name and IP address is available. 19. A method as claimed in claim 13, further comprising a step of automatically adding to said list of domain names looked-up on the external DNS, an entry corresponding to said reply from said external DNS and wherein said list is a list of domain names looked-up on the external DNS. 20. A method as claimed in claim 13, wherein said list comprises : a list of domain names looked-up on an external DNS with corresponding attribute data; and a list of host names declared on said LAN with corresponding attribute data. 21. A method as claimed in claim 13, wherein said external DNS is one of a group of external DNSs. 22. A method as claimed in claim 13, wherein said list of domain names and attribute data has an expiry date and time and said method further comprises the steps of requesting from an external DNS, a newly fetched numeric address for said domain name when a next request for said domain name will be received, restoring said newly fetched numeric address as the attribute data for said domain name in said list and refreshing said expiry date and time.

Inventors: DUPLAIX JEROME, MOINEAU GILBERT, DUPLAIX, JEROME, MOINEAU, GILBERT
Applicants: DUPLAIX JEROME, EICON TECHNOLOGY CORP, MOINEAU GILBERT, DUPLAIX, JEROME, EICON TECHNOLOGY CORPORATION, MOINEAU, GILBERT
Application year: 1999
Main classification: H04L29
IPC codes: H04L12, H04L29