ASN编码规则详解最
- 格式:pdf
- 大小:3.24 MB
- 文档页数:108
asn编码编译-回复ASN编码的编译工作是指将ASN(Abstract Syntax Notation)语言中定义的数据结构类型编译成具体的计算机语言,通常是编译成C或者Java 等编程语言。
ASN是一种用于定义数据结构和数据交换规范的标记语言,可以用于描述各种通信协议中的数据格式。
本文将以ASN编码的编译为主题,分步骤详细介绍ASN编码的编译过程。
第一步:定义ASN语言的语法规范ASN语言是一种用于定义数据结构和数据交换规范的标记语言,首先需要定义ASN语言的语法规范。
ASN语言一般由类型定义和数值定义组成,其中类型定义用于定义数据的结构,数值定义则表示具体的数值。
在ASN 语言中,一般可以定义基本类型(如整型、字符串等)和复合类型(如结构体、列表等)。
第二步:编写ASN编码的解析器ASN编码的解析器是用于将ASN语言的语法规范解析为具体的数据结构类型的代码。
解析器一般可以通过递归下降法或者语法分析器生成器(如Flex和Bison等)来实现。
解析器将根据ASN语言的语法规范逐步解析ASN文件,并将其转化为具体的数据结构类型。
第三步:生成AST(抽象语法树)AST是一种用于表示源代码语法结构的树状数据结构,是编译器中常用的中间表示形式。
在ASN编码的编译过程中,需要生成AST来表示ASN 语言解析器解析出来的数据结构类型。
AST可以通过解析器直接生成,也可以通过解析器的输出再经过一系列的处理来生成。
第四步:类型检查与语义分析在编译过程中,需要对生成的AST进行类型检查与语义分析,以确保编译后的代码的正确性和一致性。
类型检查与语义分析一般包括以下几个方面的内容:检查变量的声明和使用是否合法、检查数据类型是否匹配、检查函数调用的参数类型是否正确等。
通过类型检查与语义分析,可以检测出代码中的潜在错误并给出相应的错误提示。
第五步:代码生成在完成了类型检查与语义分析后,接下来将根据AST生成目标代码(如C 或Java等编程语言),即将ASN编码转化为具体的计算机语言。
ASN.1编码规范及实现方式一、A SN.1语言概述ASN.1(Abstract Syntax Notation Number One),抽象语法描述1,是一种ISO/ITU-T 标准。
该语言描述了一种对数据进行表示、编码、传输和解码的数据格式,它提供的一整套正规的格式用于描述对象的结构,具有类似于面向对象程序设计语言中所提供的类型机制,可定义任意复杂结构的数据类型,而不同的数据类型之间还可以有继承的关系。
因此,ASN.1是以一种独立于计算机架构和语言的方式来描述数据结构的。
同时,ASN.1 的描述可以容易地映被射成C 、C++ 或Java 的数据结构,直接作为应用程序代码使用,并得到运行程序库的支持。
ASN.1作为一种数据表示标准产生于20世纪80年代早期的开放系统互联(OSI)网络模型,虽然OSI模型并没有得到广泛的应用,但是ASN.1标准在继续进化。
今天已有大量的实际应用,这些应用包括:3G移动系统、IP语音、安全应用、传统电信网络、军事和空间应用等许多方面。
另外,ASN.1 有多种标准化编码规则:如基本编码规则(BER)、规范编码规则(CER)、识别名编码规则(DER)、压缩编码规则(PER)和XER 编码规则(XER)。
这些编码规则描述了如何对ASN.1 中定义的数值进行编码,以便用于传输,而与计算机、编程语言或它在应用程序中如何表示等因素无关。
同时,该编码具有先进的标识系统、信息扩展性、支持快速可靠传输等特点,这在无线传输中是一种优势。
因此,ASN.1不但适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构,而且还有适合的协议编码方式。
同时,3GPP标准ASN.1文档中也包含了完整、详细的数据单元(PDU)协议。
这些都为3G移动系统中ASN.1的应用打下了基础。
3G协议的ASN编码跟一般的编码相比具有高效性、严谨性以及规范性等特点。
二、PER 编码简介3GPP的规范中,由ASN.1到传输码的转换统一使用定义在ITU-T X.691中的PER (Packed Encoding Rules)规则,因此这里讲的ASN编译码规则也就是ASN编码中的PER 编译码规则。
ASN编码规则详解最
ASN编码(Advanced Ship Notice)是物流行业中最重要的编码标准,它用于标识和描述货物的信息。
ASN编码被广泛应用于企业的货物物流管
理中,它能有效地跟踪货物的流动情况,保证整个物流运输的有效管理。
ASN编码通常有三部分组成:第一部分是货物编号,它用于表示一批
货物的货物编号;第二部分是物流编号,它用于表示货物运输的载体,以
及物流公司的协调编号,以及货物运输的相关信息;第三部分是货物信息
编号,它用于表示货物的数量、货物的质量、以及货物的运输方式等信息。
ASN编码有助于企业有效地管理物流运输系统,提升物流运输效率。
ASN编码可以帮助企业实现货物流转过程的智能化,减少物流运输中的人
为错误,提升物流运输的成本效率。
ASN编码能够准确定位货物的位置,
有效地跟踪货物的流转情况,进而保证货物的安全运输。
此外,ASN编码还能够有效地追踪货物的质量,及时发现任何异常情况。
ASN编码能够提供全面的物流信息,使物流运输的安全性得以保障,
以确保企业在物流运输中的有效管控。
基于ASN.1 BER规约的编解码系统设计非常高兴你能来到小弟的百度文库,您到此地想必是想更多的了解ASN.1BER编码规则吧。
兄弟我大学毕业设计就是有关ASN.1BER编码规则的,电脑里也还存有当时做的系统。
这个文档就是毕业论文的一部分,上传的理由很简单目的就是对ASN.1BER编码规则有个大致的了解!dengkai-crossfire.taobao./次数达2次以上者,并给与好评!(然后联系我的淘宝旺旺,兄弟就把手中ASN.1BER编解码系统双手奉上。
给大家此系统的目的是让大家能更好的了解ASN.1BER编码规则,千万别用来当毕业设计!到时被老师发现了就不好办了,呵呵!(当然了,兄弟我能力有限,此毕业设计还存在不足之处)时间久了自己忘得也差不多了,希望发给大家后,好好学习学习!让!文档推荐:ASN.1编码规则详解(最全最经典) wenku.baidu./view/e735ea0bf12d2af90242e6d4.html?st=1目录摘要........................................................................................ 错误!未定义书签。
第1章绪论.............................................................................. 错误!未定义书签。
1.1 ASN.1概述 ......................................................................... 错误!未定义书签。
1.2 ASN.1系列标准 ................................................................. 错误!未定义书签。
1.3 ASN.1编解码的应用与发展前景 ..................................... 错误!未定义书签。
ASN.1编解码规则之类型定义ASN.1最基本的概念是类型和值,一个类型是一组值的集合,表示潜在的传送信息,实际中,只有值被传送,类型分为简单类型、复合类型、子类型三类;简单类型是ASN.1的基本组成部分,通常用来描述事物的单一属性。
复合类型由一个或者多个它的域构成,这些域可以使任意类型,子类型是其父类型的变形,前者的值域是后者值域的子集;简单类型:1.BOOLEAN类型又称布尔类型,有两种可能的取值:“TRUE”和“FLASE”;RRC协议中不存在对此类型的单独定义,一般将其定义在SEQUENCE类型内,具体的定义和赋值方法如下表所示:BOOLEAN的编码结果为1个比特:1或者0,分别对应TRUE或者FLASE,因此,tstd-Indicator的编码结果是1(郭丹的论文里面是0);2.NULL类型又称为空类型,表示信息中不包含任何内容,传递时接收方知道与其相关的语义,该类型适合传递报告或者确认消息,和BOOLEAN一样,RRC协议中也不存在对该类型的单独定义,而将其定义在SEQUENCE中,如下表所示:不需要对NULL类型数据进行编码,如果它是CHIOCE或者SEQUENCE的可选域或者缺省域,导言作为此类型的索引来确定是否存在该类型的数据;3.INTEGET类型又称为整数类型,它的值集合是任意长度的整数,可以将该类型数据定义成一个常数,也可以使用子类型限制语句将其值限制在一个区间内取值,定义如下表所示:如果该类型被定义为常数时,不需要编码,因为解码一方也知道相同的构文,从而可以正确解码,因此MaxROHC-profile-r4的编码结果为空,反之,需要编码,比如CD-AccessSlotSubchannal在有限范围内取值,有12个值可以取,因此用四位比特数来对它进行编码,所以CD-AccessSlotSubchannal的编码结果是0000;4.ENUMERATED类型又称枚举类型,当需要列出对象清单的时候,就要用到该类型,他经常被用来描述系统状态或者错误报告,该类型的定义和复制方法如下表所示:有四个选项,因此使用2个比特位来进行编码,RRC-StateIndicator的编码结果是01;5.BIT STRING类型又称为二进制比特串类型,该类型值可以为空或者任意长,常被用来定义那些可以表示为二进制或布尔向量的数据,比特串最左边的比特是第一位,最右边的比特是最末位;该类型的表示有单引号界定,二进制形式由数字0和1组成,后面附加字母B,十六进制形式由数字0~9和字母A~F组成,后面附加字母H,位串的长度应该尽量使用子类型进行限制,因为这能使编码器分配合适的空间,保证编码更加简短,构文如下表所示:对于固定长度的BITSTRING类型,编码时不需要长度域,编码结果即为比特值,反之要在前面加上长度域,上表中该类型的比特串是固定值的两种定义和相应赋值方式,“example1”和“assignedSubChannelNumber”的编码结果分别为“0010010000111100”和“0010”;6.OCTET STRING类型又称为八位比特串类型,该类型编码时候,比特位后面有时需要填充值为0的比特,以使比特位的位数达到8的整数倍;因为长度是范围是1..8,example的取值是2个8位比特组,因此长度域为“001”,它的完整编码是“00100110001”我觉得是应该是这个00100011001;复合类型1.SEQUENCE类型每个域由小写字母开头的标识符来定义,还可以用OPTIONAL和DEFAULT来标记这些域可选和缺省域,构文如下表所示:对SEQUENCE类型编码是根据从上到下,从外层到内层的顺序依次对内嵌的每个域进行编码,编码时,每个可选域和缺省域都用一个比特的导言来表示是否存在于SEQUENCE类型数据中,分别用“0”、“1”来表示,如果不存在就不对该域进行编码,反之进行编码;DEFAULT后面默认值应该和该域的类型一致,对被它标记的域进行编码时,如果赋值等于其缺省值,则编码时导言为“0”且后面没有对值的编码,如果为“1”,后面有对值的编码,对具有DEFAULT标记的域进行解码时,如果导言为1,该域的值对应于值域中的值;如果导言为0,该域的值为缺省值;2.SEQUENCE OF类型该类型相当于一些程序设计语言中的动态数组或链表,其内所有的域都是同一类型且数量是可变的,如下表所示:对SEQUENCE OF类型的数据进行编码时,如域的个数是固定的,就没有长度域,否则,用长度域表示域的个数,接下来依次对每个域进行编码,“example”的长度域是“0001”,全部的编码结果是“0001 0000 0000 0001 0001 0011 0110 0101”;3.CHIOCE类型该类型有几个域可供选择,具体构文如下表所示:CHIOCE类型首先用导言指示选择哪一个域,化成十进制就是0代表第一项,以此类推,后面紧跟所选项的编码结果,对“example”的编码结果为“001 0011”;子类型在某些情况下,只需要ASN.1类型取值的一些子集是有效的,有时候,只需要一些特定范围内的子集有效,子类型定义是通过在父类型记法后面附加适当的子类型说明来实现的,子类型可用“|”将不同的父类型值域的子集分开,整个表达式位于圆括号内,如下表所示:上表的子类型一栏中,上面的表达式表示“WeekEnd”类型的取值只有一个值:“wednesday”。
ASN.1基本语法和编码规则1 ASN.1 简介ASN.1 (Abstract Syntax Notation One),抽象语法标记,是描述抽象类型和值的标记,缩写为ASN.1。
它用于对通过接口和通信媒体进行传输的信息的抽象描述,广泛应用于各种通信协议的说明中。
ASN.1是一个很灵活的标记法,它允许定义众多的数据类型——从整数和位串等简单类型到如集合、序列等的组合结构,还可以是其它复杂定义的类型。
一个ASN.1定义可以选用不同的编码规则,但解码器必须采用和编码器相同的编码规则。
目前标准化的编码规则有4个:BER、DER、CER、PER。
BER在19世纪80年代初形成,广泛应用于各种通信协议中,比如SNMP、MHS、TSAPI 等;DER是BER的一种特殊形式,用于对安全性敏感的应用,比如电子商务,要求对一条消息的编码和解码有且只有一条途径;CER是BER 的另一种特殊形式,类似于DER,但它适用于长消息,可以在知道整条消息之前就开始编码,实际中CER很少应用,这是因为工业界把DER作为安全编码的优先方法;PER在上述编码规则之后出现,因它的高效算法而闻名,它的编码速度和压缩程度比BER高,PER适用于带宽资源缺乏的应用,比如空中交通控制和音频—视频通信等。
2 BER的编码规则和传输语法2.1基本规则BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则。
每种BER 编码方法都由三或四部分组成:(1)Tag octets:定义了ASN.1值的类和标签值,并指明编码方法是简单化的还是结构化的。
(2)Length octets:对于定长编码方法,它指出了内容octet的个数;对于结构化、非定长编码方法,它指明了长度是不确定的。
(3)Value octets:对于简单的、定长编码方法,它给出了值的具体表示;对于结构化的方法,它给出了值的内容的BER编码的串联。
(4)End-of-values octets:对于结构化、非定长的编码方法,它表示内容结束;对于其它方法,没有该部分。
ASN.1和基本编码规则作者:亢朝峰业务四室摘要:该文说明了ASN.1和基本编码规则(BER)的原理和应用。
文中,首先描述了ASN.1,并给出了几种常见类型的相应的例子,来说明ASN.1的应用;接着对基本编码规则(BER),通过对MAP中的LocationRequest的请求操作消息的参数进行编码的具体实现,来说明基本编码规则的工作原理。
总之,ASN.1和基本编码规则实际中有非常广泛的应用。
关键词:ASN.1 基本编码规则MAP消息LocationRequestASN.1作为一种数据表示标准产生于20世纪80年代早期的开放系统互联Internet 网络模型,但OSI模型并没有得到广泛的应用,而ASN.1标准继续使之发展,今天在实际中已有大量应用,这些应用包括:3G移动系统:使用ASN.1标准数据交换的第三代移动通信网络。
这一系统基于UMTS(通用移动通信系统)标准,其使用了ASN.1和分组编码标准(PER)。
IP语音:在通信领域中的另一个重要应用是通过包转换网络(如因特网)传递语音数据。
多媒体数据信号编解码器(CODEC)标准(H.323等等)基于ASN.1并且使用于分组编码标准来获取理想的数据传输速率。
安全应用:因特网安全授权同样也使用了ASN.1。
高级编码标准在数据表示方面形成了一个方便的、平台无关的标准,比加密要优越。
PKIX、PKCS和X.509也是我们所熟悉的标准,它们也是基于ASN.1的。
传统通信网络:ASN.1和基本编码规则(BER)已经在主要通信领域流行了很长一段时间,所有的ss7到ISDN的一切都使用了ASN.1 BER信息在各种类型的设备和计算机之间传递信号。
军事和空间应用:美国国家宇航局(NASA)在其航空通信网规范中,也正在使用ASN.1和分组编码规则作为空对地或地对空协议。
一、概述众所周知,抽象是解决软件开发问题的有效手段。
利用抽象,设计人员可以定义系统的一个部分而不用关注这个部门实际上是如何实现或者表达的。
asn 编码规则ASN.1(Abstract Syntax Notation One)是一套标准,用于描述数据的表示、编码、传输和解码。
它提供了一套正式、无歧义和精确的规则,以描述独立于特定计算机硬件的对象结构。
ASN.1本身只定义了表示信息的抽象语法,但没有限定其编码的方法。
ASN.1的标准编码规则有以下几种:1. 基本编码规则(BER, Basic Encoding Rules):这是ASN.1标准制定的用于将数据编码为二进制格式的原始规则。
在ASN.1术语中,这些规则被称为传输语法,并指定用于编码数据的确切八位字节(8位字节)。
BER编码规则的格式指定了一种用于编码ASN.1数据结构的自描述和自定界格式。
每个数据元素都被编码为类型标识符、长度描述、实际数据元素,以及必要时的内容结束标记。
这些类型的编码通常称为类型-长度-值(TLV)编码。
在BER的术语中,它是identifier-length-contents。
2. 规范编码规则(CER, Canonical Encoding Rules):这是另一种ASN.1编码规则,它是BER的一种特例,其中所有数据都被表示为规范的二进制形式。
CER 编码主要用于需要高度可靠和精确的应用,如证书或时间戳。
3. 唯一编码规则(DER, Distinguished Encoding Rules):DER是CER的一个超集,它增加了对某些数据类型的更严格的限制,以确保编码的唯一性。
DER主要用于需要高度可靠和精确的应用,如数字签名和证书。
4. 压缩编码规则(PER, Packed Encoding Rules):PER是一种针对ASN.1数据的紧凑编码格式。
它的目标是提供比BER更小的表示,同时仍然保持数据结构的完全描述。
PER编码特别适用于需要高效存储和传输的应用,如移动通信或卫星通信。
5. XML编码规则(XER, XML Encoding Rules):这是将ASN.1数据转换为XML 格式的规则。
ASN.1标准编码规则BER一.基本规则BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则,其他编码规则是在BER的基础上添加新的规则构成。
1.BER传输语法的格式一直是TLV三元组<Type,Length, Value>.T是Tag,L是整个类型的长度,V是类型的Value,它还可以是TLV或TLV组合2.BER传输语法是基于八位组大端编码的,高八位在左。
3.Tag是一个或若干个八位组(1).Universal Tag类型(值是0-30):第七、六位指明Tag的类型,Universal Tag类型用00表示;第五位指明该类型以primitive方式编码还是constructed方式编码。
Tag value值是基本类型的Tag的值,例如INTEGER的Tag值是2,SEQUENCE型类Tag值是16:ASN.1中定义的UNIVERSAL类TagTag类型0BER保留1BOOLEAN2INTEGER3BIT STRING4OCTET STRING(2).当Tag大于30时,多个八位组中编码,第一个八位组后五位全部为1,其余的八位组最高位为1表示后续还有,为0表示Tag结束。
第一个八位组高二位的取值:00表示Universal,01表示APPLICATION类型,10表示context-specific,11表示PRIVATE类型2.BER编码中Length表示Value部分所占八位组的个数,有两大类:定长方式(Definite Form)和不定长方式(Indefinite Form)(1).定长方式定长方式中,按长度是否超过一个八位,又分为短、长两种形式:短:类型长度大于等于0个八位,小于等于127长:类型长度大于等于127个八位,小于等于256^126-1第一个八位组的低七位指明整个L所占用的八位组个数,后续八位组表示V的长度(2).不定长方式Length所在八位组固定编码为0x80,但在Value编码结束后以两个0x00结尾。
信息技术 asn.1 编码规则第2部分《深入理解信息技术中的ASN.1编码规则》一、引言信息技术中的编码规则是保证数据在传输和存储过程中能够被准确解释和处理的重要环节。
其中,ASN.1编码规则作为一种通用的数据表示和交换标准,在各种领域都有着广泛的应用。
在上一篇文章中,我们已经对ASN.1编码规则的基本概念进行了介绍,本篇文章将继续深入探讨ASN.1编码规则的具体实现和应用。
二、ASN.1编码规则的基本原理在讨论ASN.1编码规则的具体实现之前,我们需要先了解ASN.1编码规则的基本原理。
ASN.1编码规则是一种将数据进行结构化表示和压缩传输的方法,它通过定义数据的类型、值域和编码规则,使得数据既能够被高效地传输和存储,又能够被准确解释和处理。
在ASN.1编码规则中,数据被表示为一系列的标签-长度-值(TLV)组成的结构,其中标签用于唯一标识数据的类型,长度用于表示数据的长度,值用于存储数据的实际数值。
三、ASN.1编码规则的具体实现1. BER编码规则在ASN.1编码规则中,最常用的编码规则之一就是基本编码规则(BER)。
BER编码规则是ASN.1编码规则的最基本形式,它通过将数据按照TLV结构进行编码,并使用可变长度的方式表示数据的标签和长度,从而实现了对各种数据类型的灵活处理。
在实际应用中,BER 编码规则通常被用于对数据进行压缩传输和网络通信,它具有较高的效率和灵活性,能够满足各种复杂数据结构的编码和解码需求。
2. DER编码规则除了基本编码规则(BER)之外,另一个常用的ASN.1编码规则是分布式编码规则(DER)。
与BER相比,DER编码规则在对数据进行编码时进行了严格的限制,包括禁止使用可变长度表示标签和长度、对数据进行唯一标识和排序等。
这些限制使得DER编码规则在对数据进行数字签名和加密等安全操作时具有更高的安全性和可靠性,因此在安全领域得到了广泛的应用。
3. CER编码规则还有一种基本编码规则(CER)也在一些特定领域得到了广泛的应用。
ASN.1和基本编码规则作者:亢朝峰业务四室摘要:该文说明了ASN.1和基本编码规则(BER)的原理和应用。
文中,首先描述了 ASN.1,并给出了几种常见类型的相应的例子,来说明ASN.1的应用;接着对基本编码规则(BER),通过对MAP中的LocationRequest的请求操作消息的参数进行编码的具体实现,来说明基本编码规则的工作原理。
总之,ASN.1和基本编码规则实际中有非常广泛的应用。
关键词:ASN.1 基本编码规则 MAP消息LocationRequestASN.1作为一种数据表示标准产生于20世纪80年代早期的开放系统互联Internet网络模型,但OSI模型并没有得到广泛的应用,而ASN.1标准继续使之发展,今天在实际中已有大量应用,这些应用包括:➢3G移动系统:使用ASN.1标准数据交换的第三代移动通信网络。
这一系统基于UMTS(通用移动通信系统)标准,其使用了ASN.1和分组编码标准(PER)。
➢IP语音:在通信领域中的另一个重要应用是通过包转换网络(如因特网)传递语音数据。
多媒体数据信号编解码器(CODEC)标准(H.323等等)基于ASN.1并且使用于分组编码标准来获取理想的数据传输速率。
➢安全应用:因特网安全授权同样也使用了ASN.1。
高级编码标准在数据表示方面形成了一个方便的、平台无关的标准,比加密要优越。
PKIX、PKCS和X.509也是我们所熟悉的标准,它们也是基于ASN.1的。
➢传统通信网络:ASN.1和基本编码规则(BER)已经在主要通信领域流行了很长一段时间,所有的ss7到ISDN的一切都使用了ASN.1 BER信息在各种类型的设备和计算机之间传递信号。
➢军事和空间应用:美国国家宇航局(NASA)在其航空通信网规范中,也正在使用ASN.1和分组编码规则作为空对地或地对空协议。
一、概述众所周知,抽象是解决软件开发问题的有效手段。
利用抽象,设计人员可以定义系统的一个部分而不用关注这个部门实际上是如何实现或者表达的。
⾃治系统⾃治域和⾃治系统编号(ASN)定义: ⾃治系统或⾃治域(英⽂:Autonomous system, AS)是指在互联⽹中,⼀个或多个实体管辖下的所有IP⽹络和路由器的组合,它们对互联⽹执⾏共同的路由策略。
参看RFC 1930中更新的定义。
最初⾃治系统要求由⼀个单⼀实体管辖,通常是⼀个互联⽹服务提供商或⼀个拥有到多个⽹络的独⽴连接的⼤型组织,其遵循⼀个单⼀且明确的路由策略,参看RFC 1771和边界⽹关协议(BGP)的初始定义(现已废⽌)。
由于多个组织可使⽤各⾃的⾃治系统编号与将它们连接到互联⽹的ISP之间运⾏BGP协议,因此得到较多应⽤的是RFC 1930中较新的定义。
尽管ISP⽀持了这多个⾃治系统,但对互联⽹来说只能看到该ISP的路由策略。
所以ISP必须具有⼀个公开且正式登记的⾃治系统编号(ASN)。
⽤于BGP路由中的每个⾃治系统都被分配⼀个唯⼀的⾃治系统编号(ASN)。
对BGP来说,因为ASN是区别整个相互连接的⽹络中的各个⽹络的唯⼀标识,所以这个⾃治系统编号⾮常重要。
互联⽹地址分派机构将64512到65535的ASN编号保留给(私有)专⽤⽹络使⽤。
简单来说: 就是在这浩瀚的互联⽹中,分布着⽆数个路由器和ip,它们共同组成了⼀整个⼤的互联⽹,⽽这些ip和路由其实都遵循着⼀个单⼀且明确的路由策略,根据BGP边界⽹关协议,划分为⼀个个独⽴的⾃治系统,⽽这些独⽴的⾃治系统,每⼀个都会被分配⼀个唯⼀的⾃治系统编号(ASN),⽽这个编号,即ASN,是这个独⽴的⾃治⽹络在互联⽹上的唯⼀标识。
其实说⽩了,ASN就是在互联⽹上所划分的地区或者区域的名字。
就好⽐在地球上所划分的各个国家,各个国家划分的各个省份⼀样。
不过这样的独⽴的⾃治系统⼀般⽽⾔通常都是⼀个互联⽹提供商或⼀个拥有到多个⽹络的独⽴连接的⼤型组织,⽐如中国联通,电信,移动,腾讯,阿⾥巴巴,苹果,⾕歌等。
下⾯展⽰ASN⾃治系统编号如何搜索和查询:可以参照下⾯这个⽹站:https:///查询alibaba所拥有的ASN号:tencent:那么如何根据ASN查询到具体都有哪些ip在这些ASN上呢?可以参照下⾯这个⽹站进⾏查询:https:///以腾讯AS45090为例:从这⾥我们可以了解到分布在这个ASN域下的所有ip和域名,以及ip段。