乐趣区

关于sfossp:思否开源项目推介丨YABGP另一种-BGP-协议的-Python-实现

开源项目名称:YABGP
开源我的项目负责人:@SmartBGP
开源我的项目简介:另一种 BGP 协定的 Python 实现
开源我的项目类型:团队开源我的项目
我的项目创立工夫:2019 年
GitHub 数据:166 Star,54 Fork
GitHub 地址:https://github.com/smartbgp/y…

YABGP 是什么?

YABGP 是另一种 BGP 协定的 Python 实现。它能够和各种路由器(包含 Cisco/ 华为 /Juniper 的实在设施和一些模仿路由器比方 GNS3)建设 BGP 连贯,接管解析 BGP messages 以供未来剖析。

反对通过 RESTful API 发送 BGP messages(route refresh/update) 到其对等体。YABGP 不能自主地发送任何 BGP update messages,它只是一个代理,一个控制器能够管制多个代理。

咱们严格遵循 RFCs 文档的约定开发此我的项目。此软件可利用于 Linux/Unix,Mac OS 和 Windows 零碎。

性能

  • 它能够通过 IPv4 地址以被动模式(作为 TCP 客户端)建设 BGP 会话连贯。
  • 反对 TCP 的 MD5 认证(只有 IPv4 并且不反对 Wndows 零碎)
  • BGP capabilities 反对:4 字节的 ASN,Route Refresh(Cisco Route Refresh),增加发送 / 接管门路;
  • 地址族反对:

    • IPv4/IPv6 Unicast
    • IPv4/IPv6 Labeled Unicast
    • IPv4 Flowspec(无限反对)
    • IPv4 SR Policy(draft-previdi-idr-segment-routing-te-policy-07)
    • IPv4/IPv6 MPLSVPN
    • EVPN (局部反对)
  • 解析所有 BGP messages 为 json 格局并写入本地文件(可配置);
  • 反对通过根本的 RESTFUL API 获取对等体运行信息或者发送 BGP messages。

思否举荐

是否好奇 BGP 是什么?BGP 全称是 Border Gateway Protocol, 对应中文是边界网关协定,是互联网上一个外围的去中心化自治路由协定。它通过保护 IP 路由表或‘前缀’表来实现自治零碎(AS)之间的可达性,属于矢量路由协定。BGP 不应用传统的外部网关协定(IGP)的指标,而应用基于门路、网络策略或规定集来决定路由。因而,它更适宜被称为矢量性协定,而不是路由协定。

听起来很绕?举个例子,网通、电信、挪动、联通、教育网、科技网、卫通等网络是相互独立的,如何将这些网络之间进行链接,就须要 BGP 来帮忙。

过往的 BGP 实现用的都是用的比拟偏的语言比方 perl 中的 Net :: BGP 库吗,其余语言系下的开发者应用 BGP 来实现不可能重学一门新的语言。而当初 YABGP 作为另一种 BGP 协定的 Python 实现,让 Python 开发者也能够不便的应用 BGP 协定。同时,此软件可利用于 Linux/Unix,Mac OS 和 Windows 零碎。


该我的项目已入选「SFOSSP – 思否开源我的项目反对打算」,咱们心愿借助社区的资源对开源我的项目进行相干的宣传推广,并作为一个长期我的项目助力开源事业的倒退,与宽广开发者共建开源新生态。

有动向的开源我的项目负责人或团队成员,可通过邮箱提供相应的信息(开源我的项目地址、我的项目介绍、团队介绍、联系方式等),以便晋升交换的效率。

分割邮箱:pr@segmentfault.com

退出移动版