quagga源码学习--BGP协议创建对等体
Posted 丹西
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了quagga源码学习--BGP协议创建对等体相关的知识,希望对你有一定的参考价值。
现有的路由协议都是通过分布式协议逐个配置协商运行的,协议协议,一个就不需要协议咯,至少2个才能够协议着做事情嘛,不过呢,这样就出现网元过多配置困难的问题,对网管软件要求也越来越高,
SDN或许可能改变这个局面,但不管软件如何定义,报文还是在一个一个网络节点传输的,所以我们看到quagga这样多的传统网络配置命令不要觉得繁琐,不配置的话,协议不会工作哦。
嗯,这章的主题是创建对等体,就是通过配置命令来完成的。
“neighbor peer remote-as asn” router bgp 1 neighbor 10.0.0.1 remote-as 2
neighbor peer remote-as 命令就是配置一个对等体,peer是指对等体的地址(ipv4,ipv6地址)。
接下来我们看代码是如何创建对等体的,入口函数:
1 DEFUN(neighbor_remote_as, 2 neighbor_remote_as_cmd, 3 NEIGHBOR_CMD2 "remote-as " CMD_AS_RANGE, 4 NEIGHBOR_STR 5 NEIGHBOR_ADDR_STR2 6 "Specify a BGP neighbor\n" 7 AS_STR) { 8 return peer_remote_as_vty(vty, argv[0], argv[1], AFI_IP, SAFI_UNICAST); 9 }
可以看到,bgp对等体之间是单播通信。
1 /* If peer does not exist, create new one. If peer already exists, 2 set AS number to the peer. */ 3 int 4 peer_remote_as(struct bgp *bgp, union sockunion *su, as_t *as, 5 afi_t afi, safi_t safi)
peer_remote_as函数来完成创建新对等体或者为对等体设置新的as号。
以上是关于quagga源码学习--BGP协议创建对等体的主要内容,如果未能解决你的问题,请参考以下文章