CN105959428A - 一种基于Linux系统的域名解析方法及装置 - Google Patents

一种基于Linux系统的域名解析方法及装置 Download PDF

Info

Publication number
CN105959428A
CN105959428A CN201610271911.7A CN201610271911A CN105959428A CN 105959428 A CN105959428 A CN 105959428A CN 201610271911 A CN201610271911 A CN 201610271911A CN 105959428 A CN105959428 A CN 105959428A
Authority
CN
China
Prior art keywords
domain name
server
address
party
name
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.)
Pending
Application number
CN201610271911.7A
Other languages
English (en)
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610271911.7A priority Critical patent/CN105959428A/zh
Publication of CN105959428A publication Critical patent/CN105959428A/zh
Pending legal-status Critical Current

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/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]

Landscapes

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

Abstract

本发明涉及一种基于Linux系统的域名解析方法及装置。本发明在接收到域名解析请求后,先在/etc/hosts中查找是否存在对应的域名与IP地址的映射关系,如果没有,再去/etc/resolv.conf查找 nameserver配置项,然后向nameserver对应的IP地址发送域名解析查询。通过利用Linux系统自带的配置文件进行IP地址的解析,无需另外的配置文件和数据库,操作简单,效率高,成本低。

Description

一种基于Linux系统的域名解析方法及装置
技术领域
本发明涉及一种域名解析方法及装置,属于域名解析领域,具体是涉及一种基于Linux系统的域名解析方法及装置。
背景技术
为了方便记忆,通常采用域名来代替网络协议(Internet Protocol;简称:IP)地址来标识站点地址,当客户端需要访问网络时,在浏览器中输入域名,该域名经过解析之后,客户端便实现了对该IP地址所对应的服务器的访问。
但是,现有技术中的域名解析方法及装置需要单独定义一套配置文件或使用数据库进行配置,需要安装相应软件,配置和使用比较复杂。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于Linux系统的域名解析方法及装置,其目的在于简化域名解析规则,无需另外的配置文件和数据库。
为了解决上述问题,根据本发明的一个方面,提供了一种基于Linux系统的域名解析方法,包括:
步骤1,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;所述域名解析规则用于定义域名和对应IP地址的映射关系;所述第三方域名服务器用于提供域名查询功能;
步骤2,域名解析服务器接收客户端的域名解析服务请求;所述域名解析服务请求中包含有待解析的域名;
步骤3,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
步骤4,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
步骤5,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断所述第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。
优选的,上述的一种基于Linux系统的域名解析方法,所述步骤1中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
优选的,上述的一种基于Linux系统的域名解析方法,所述/etc/resolv.conf中包括多个第三方域名服务器,所述域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
为了解决上述问题,根据本发明的另一个方面,提供了一种基于Linux系统的域名解析装置,包括:
解析配置模块,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;所述域名解析规则用于定义域名和对应IP地址的映射关系;所述第三方域名服务器用于提供域名查询功能;
请求接收模块,域名解析服务器接收客户端的域名解析服务请求;所述域名解析服务请求中包含有待解析的域名;
地址查询模块,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
域名请求模块,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
结果判断模块,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断所述第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。
优选的,上述的一种基于Linux系统的域名解析装置,所述解析配置模块中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
优选的,上述的一种基于Linux系统的域名解析装置,所述/etc/resolv.conf中包括多个第三方域名服务器,所述域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
总体而言,本发明所构思的以上技术方案与现有技术相比,通过利用Linux系统自带的配置文件进行IP地址的解析,无需另外的配置文件和数据库,操作简单,效率高,成本低。
附图说明
附图1是本发明的一种流程图;
附图2是本发明的结构图;
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
一种基于Linux系统的域名解析方法,包括:
步骤1,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;域名解析规则用于定义域名和对应IP地址的映射关系;第三方域名服务器用于提供域名查询功能;在Linux系统中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
步骤2,域名解析服务器接收客户端的域名解析服务请求;域名解析服务请求中包含有待解析的域名;
步骤3,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
步骤4,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
步骤5,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。
如果/etc/resolv.conf中包括多个第三方域名服务器,域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
一种基于Linux系统的域名解析装置,包括:
解析配置模块,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;域名解析规则用于定义域名和对应IP地址的映射关系;第三方域名服务器用于提供域名查询功能;在Linux系统中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
请求接收模块,域名解析服务器接收客户端的域名解析服务请求;域名解析服务请求中包含有待解析的域名;
地址查询模块,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
域名请求模块,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
结果判断模块,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。如果/etc/resolv.conf中包括多个第三方域名服务器,域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
实施例1:
首先,对本实施例的术语进行说明如下:
Linux:一种自由和开放源代码的操作系统;
域名:一串用点分隔的名字,用于标识因特网上计算机的电子方位,在日常应用中,最后一个点会省略;
内网域名:用于局域网内部的域名,外部网络不可访问;
IP地址:互联网协议地址,分配给网络上使用网际协议的设备的数字标签;
内网:又称局域网,指覆盖局部区域(如公司内部)的计算机网络;
域名系统:因特网的一项服务,将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网;
域名解析:将域名映射为IP地址的过程;
Nameserver:域名服务器。
本发明描述了一种Linux下的域名系统实现方案。在一台已经可以正常解析内网域名和外网域名的Linux计算机上,实现此方案,其他计算机可将此Linux机器作为域名系统服务器(将域名服务器地址改为此Linux机器的IP地址),从而正常解析内网域名和外网域名。客户端机器操作系统不限。
现有技术中的域名查询系统的实现,都需要单独定义一套配置文件或使用数据库进行配置。而在标准的Linux系统中,已经内置了一套方案。当Linux查询域名时,会先在/etc/hosts中查找是否存在对应的域名与IP地址的映射关系,如果没有,再去/etc/resolv.conf查找nameserver配置项,然后向nameserver对应的IP地址发送域名解析查询。本实施例的方案中,可以直接利用这2个文件,从而无需另外的配置文件和数据库。
一个典型的/etc/hosts文件内容如下
127.0.0.1 localhost
192.168.1.10 www.mydomain.com
其中,第一行是系统原有的规则,表明将localhost这个域名解析到127.0.0.1这个IP地址。
第二行为用户自己添加的规则,表明将www.mydomain.com这个域名解析到192.168.1.10这个IP地址。
一个典型的/etc/resolv.conf文件内容如下
nameserver 119.29.29.29
表明将119.29.29.29作为域名服务器,当本地找不到域名对应的IP地址时,向119.29.29.29发送查询请求。
下面结合图1所示,对本实施例描述如下:
步骤1:用户的计算机(下称客户端)向实现了域名系统的Linux机器(下称服务器)发送域名解析查询。
步骤2:服务器查看自己的/etc/hosts文件。
步骤3:服务器判断/etc/hosts文件中是否有客户端发来的域名的IP地址映射。如果有,将此IP地址返回给客户端,查询结束。否则进行步骤4。
步骤4:服务器查看自己的/etc/resolv.conf文件。
步骤5:服务器从/etc/resolv.conf中找出nameserver配置项对应的IP地址,向此IP地址发送域名查询。
步骤6:服务器获取上一步骤的查询结果。
步骤7:服务器判断是否返回了正确的IP地址,如果是,将IP地址返回给客户端,查询结束。否则进行步骤8。
步骤8:服务器告诉客户端,查询的域名对应的IP地址不存在,查询结束。
步骤9:查询结束。
实施例2:
本发明还提供一种基于Linux系统的域名解析装置,包括:
解析配置模块,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;域名解析规则用于定义域名和对应IP地址的映射关系;第三方域名服务器用于提供域名查询功能;在Linux系统中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
请求接收模块,域名解析服务器接收客户端的域名解析服务请求;域名解析服务请求中包含有待解析的域名;
地址查询模块,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
域名请求模块,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
结果判断模块,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。如果/etc/resolv.conf中包括多个第三方域名服务器,域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种基于Linux系统的域名解析方法,其特征在于,包括:
步骤1,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;所述域名解析规则用于定义域名和对应IP地址的映射关系;所述第三方域名服务器用于提供域名查询功能;
步骤2,域名解析服务器接收客户端的域名解析服务请求;所述域名解析服务请求中包含有待解析的域名;
步骤3,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
步骤4,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
步骤5,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断所述第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。
2.根据权利要求1所述的一种基于Linux系统的域名解析方法,其特征在于,所述步骤1中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
3.根据权利要求2所述的一种基于Linux系统的域名解析方法,其特征在于,所述/etc/resolv.conf中包括多个第三方域名服务器,所述域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
4.一种基于Linux系统的域名解析装置,其特征在于,包括:
解析配置模块,选择安装有Linux系统的服务器作为域名解析服务器,在域名解析服务器中添加域名解析规则和第三方域名服务器;所述域名解析规则用于定义域名和对应IP地址的映射关系;所述第三方域名服务器用于提供域名查询功能;
请求接收模块,域名解析服务器接收客户端的域名解析服务请求;所述域名解析服务请求中包含有待解析的域名;
地址查询模块,域名解析服务器在/etc/hosts文件中查询待解析的域名对应的IP地址;若查询到待解析的域名对应的IP地址,则将查询到的IP地址返回给客户端,否则执行步骤4;
域名请求模块,域名解析服务器在/etc/resolv.conf查找第三方域名服务器,并向第三方域名服务器发送域名查询请求;
结果判断模块,由域名解析服务器接收第三方域名服务器返回的第三方查询结果;判断所述第三方查询结果中是否包括正确的IP地址,若包括正确的IP地址,则将该IP地址返回给客户端,否则,向客户端返回查询失败信息。
5.根据权利要求4所述的一种基于Linux系统的域名解析装置,其特征在于,所述解析配置模块中,在域名解析服务器的/etc/hosts文件中添加域名解析规则,在域名解析服务器的/etc/resolv.conf文件中添加第三方域名服务器地址。
6.根据权利要求5所述的一种基于Linux系统的域名解析装置,其特征在于,所述/etc/resolv.conf中包括多个第三方域名服务器,所述域名解析服务器依次向每一个第三方域名服务器发送域名查询请求,直至第三方域名服务器返回正确的IP地址或已经向最后一个第三方域名服务器发送了域名查询请求为止。
CN201610271911.7A 2016-04-28 2016-04-28 一种基于Linux系统的域名解析方法及装置 Pending CN105959428A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610271911.7A CN105959428A (zh) 2016-04-28 2016-04-28 一种基于Linux系统的域名解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610271911.7A CN105959428A (zh) 2016-04-28 2016-04-28 一种基于Linux系统的域名解析方法及装置

Publications (1)

Publication Number Publication Date
CN105959428A true CN105959428A (zh) 2016-09-21

Family

ID=56915819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610271911.7A Pending CN105959428A (zh) 2016-04-28 2016-04-28 一种基于Linux系统的域名解析方法及装置

Country Status (1)

Country Link
CN (1) CN105959428A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574660A (zh) * 2017-03-09 2018-09-25 武汉斗鱼网络科技有限公司 一种获取ip地址的方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601989A (zh) * 2004-10-22 2005-03-30 中国科学院计算技术研究所 一种自组网中因特网域名服务器的自动配置方法
CN1642099A (zh) * 2004-01-15 2005-07-20 英业达股份有限公司 计算机网络域名系统配置方法及平台
CN101281461A (zh) * 2007-04-04 2008-10-08 国际商业机器公司 用于迁移应用所依赖的系统环境的方法和装置
CN102064966A (zh) * 2010-12-29 2011-05-18 北京世纪互联工程技术服务有限公司 一种配置方法、服务器、设备和系统
CN102185936A (zh) * 2011-06-23 2011-09-14 上海牙木通讯技术有限公司 一种基于linux操作系统的DNS服务系统和方法
CN103581213A (zh) * 2012-07-19 2014-02-12 阿里巴巴集团控股有限公司 一种共享Hosts文件的应用方法、设备和系统
CN104052810A (zh) * 2014-06-17 2014-09-17 浪潮集团有限公司 一种基于动态域名的嵌入式终端产品远程web管理的登录管理方法
CN104125308A (zh) * 2013-04-25 2014-10-29 阿里巴巴集团控股有限公司 针对多用户的域名解析的方法和域名解析系统
CN105450485A (zh) * 2015-12-03 2016-03-30 赛尔网络有限公司 一种特定接入网专用hosts文件的产生、更新系统及其方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1642099A (zh) * 2004-01-15 2005-07-20 英业达股份有限公司 计算机网络域名系统配置方法及平台
CN1601989A (zh) * 2004-10-22 2005-03-30 中国科学院计算技术研究所 一种自组网中因特网域名服务器的自动配置方法
CN101281461A (zh) * 2007-04-04 2008-10-08 国际商业机器公司 用于迁移应用所依赖的系统环境的方法和装置
CN102064966A (zh) * 2010-12-29 2011-05-18 北京世纪互联工程技术服务有限公司 一种配置方法、服务器、设备和系统
CN102185936A (zh) * 2011-06-23 2011-09-14 上海牙木通讯技术有限公司 一种基于linux操作系统的DNS服务系统和方法
CN103581213A (zh) * 2012-07-19 2014-02-12 阿里巴巴集团控股有限公司 一种共享Hosts文件的应用方法、设备和系统
CN104125308A (zh) * 2013-04-25 2014-10-29 阿里巴巴集团控股有限公司 针对多用户的域名解析的方法和域名解析系统
CN104052810A (zh) * 2014-06-17 2014-09-17 浪潮集团有限公司 一种基于动态域名的嵌入式终端产品远程web管理的登录管理方法
CN105450485A (zh) * 2015-12-03 2016-03-30 赛尔网络有限公司 一种特定接入网专用hosts文件的产生、更新系统及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
低调小一: "inux修改/etc/hosts", 《CSDN博客》 *
低调小一: "Linux修改/etc/hosts", 《CSDN博客》 *
玖零大壮: "linux根文件系统/etc/resolv.conf文件详解", 《CSDN博客》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574660A (zh) * 2017-03-09 2018-09-25 武汉斗鱼网络科技有限公司 一种获取ip地址的方法及系统
CN108574660B (zh) * 2017-03-09 2021-01-01 武汉斗鱼网络科技有限公司 一种获取ip地址的方法及系统

Similar Documents

Publication Publication Date Title
US6957224B1 (en) Efficient retrieval of uniform resource locators
CN1640109B (zh) 将名称或标识符映射到电信网络资源位置的方法
US7603474B2 (en) Efficient endpoint matching using a header-to-bit conversion table
CN108574742B (zh) 域名信息收集方法及域名信息收集装置
US9525659B1 (en) Request routing utilizing point of presence load information
US20080198995A1 (en) System and method for providing a search portal with enhanced results
US20120290724A1 (en) System and method for network redirection
US8239532B1 (en) System and method of reducing latency using adaptive DNS resolution
CN114205330B (zh) 域名解析方法、域名解析装置、服务器以及存储介质
CN112954089B (zh) 一种解析数据的方法、装置、设备以及存储介质
CN109474718A (zh) 域名解析方法和装置
CN105915621A (zh) 访问数据的方法及预处理服务器
CN108063833A (zh) Http dns解析报文处理方法及装置
CN103581040A (zh) 服务器分配装置和服务器分配方法
CN104092751A (zh) 一种业务访问方法和设备
CN115495489A (zh) 跨境物流订单轨迹查询方法、装置、终端设备和存储介质
CN108282455A (zh) 网页请求方法、装置及域名信息解析结果处理方法、装置
US20020095517A1 (en) Web-address conversion system and web-address conversion method
US9390136B2 (en) System and method of identifying relevance of electronic content to location or place
CN101567879A (zh) 处理终端请求的方法、服务器、设备和系统
CN105959428A (zh) 一种基于Linux系统的域名解析方法及装置
CN103685318A (zh) 用于网络安全防护的数据处理方法和装置
CN102685220A (zh) 一种基于web页面的数据交互方法及系统
CN113206895B (zh) 递归服务器归属地定位方法及装置、电子设备和存储介质
US20170032428A1 (en) Matching and displaying advertisements to website visitors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160921

RJ01 Rejection of invention patent application after publication