我对 ASN 编号有基本了解。我的问题是路由器如何知道它们?它似乎没有用数据报中的任何位来表示,所以我假设它是在协议中完成的。一旦你被分配了一个 ASN,你的路由器如何知道它是什么,接收你的数据报的路由器如何知道它是什么?谢谢
答案1
自治系统编号用于 BGP;对于彼此使用 BGP 的系统,ASN 是它们相互识别的方式。
因此,要使 ASN 有用,您需要将路由器(具有您的 ASN)配置为通过 BGP 与其他人的路由器对等;然后,您可以通过 BGP 宣布 IP 块,全局 BGP 表将看到该 IP 块并将其路由到您的 AS。
答案2
运行 BGP 协议的路由器将其 ASN 编号存储在配置文件中。它们向邻居通告自己和其 ASN 编号以及其路由/网络,并期望邻居具有特定的 ASN 编号。
因此基本上两端都必须正确配置 ASN 编号。ASN
编号分配本质上是静态的。
这是来自 quagga 的配置文件,可以让您了解如何配置。
此路由器的 ASN 为 23,并连接到其他 2 个具有 ASN 1 和 50 的网络。使用此配置启动时,bgpd 守护进程将连接到必须具有 ASN 1 的 192.168.1.1,并以路由器 ID 192.168.23.12 和 ASN 编号 23 的形式宣布自己。它将向此邻居和相关路由宣布网络 192.168.23.0/24。它将对具有 BGP ID 50 的邻居 10.10.1.1 执行相同操作。
! Own AS number
router bgp 23
! IP address of the router
bgp router-id 192.168.23.12
! announce our own network to other neighbors
network 192.168.23.0/24
! advertise all connected routes (= directly attached interfaces)
redistribute connected
! advertise kernel routes (= manually inserted routes)
redistribute kernel
neighbor 192.168.1.1 remote-as 1
neighbor 192.168.1.1 distribute-list local_nets in
neighbor 10.10.1.1 remote-as 50
neighbor 10.10.1.1 distribute-list local_nets in