首页 > 代码库 > quagga源码学习--BGP协议创建对等体
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协议创建对等体
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。