网关协议

网关协议

网关协议

kubernetes 需要安装 CNI 网络插件进行请求通信。遇到的问题如:

  • arp 地址不正确,服务请求返回异常
  • 开启 bgp 协议
  • 网卡的几种模式

路由器工作在 IP 层,其作用是根据 IP 地址将数据包传输到正确的目的地,因此路由器必须知道网络的“地图”才能正确投递,这个”地图“就是存储在路由表中的路由规则,简称路由。

根据获得路由的方式可以分为:

  • 静态路由:管理员配置的路由
  • 动态路由:路由器通过算法动态学习和调整得到的路由。常说的路由协议就是指 动态路由的学习算法

根据作用域不同可以分为:

  • 内部网关协议(IGP),通常包括 RIPOSPF
  • 边界网关协议(BGP)

bgp

BGP路由(边界网关协议)

Border Gateway Protocol
当网络过大时,会导致路由表过大而难以维护,这时候采用分治的方法,将一个大网络划分为若干个小网络,这些小网络称为自治系统(AS),BGP就是用于自治系统间的通信。

边界网关协议就像是互联网的邮政服务,当有人把信投进邮筒时,邮政服务会处理邮件,并选择一条高效的路线将信投递给收件人。 同样地,当有人通过互联网提交数据时,BGP负责寻找数据能传播的可用路径,并选择最佳路由,通常在自治系统之间跳跃。

并不是 是不是所有的 AS 之间的通信都需要 BGP ,当只有两 AS 间存在多条路径,需要做路由策略和选择才需要 BGP,如果AS只有一出口或者所有的出口指向一个 ISP 时,是不需要 BGP 的。

基本概念

BGP 允许基于策略的路由选择,策略与多种因素相关,有 AS 的网络管理者确定,人为影响的因素较大。

每个划分后的小网络称为 AS ,每个 AS 都有自己的 AS号码(ASN)。根据类型不同,也被分为不同类型的 AS 。

BGP 是运行在 TCP 协议之上的,BGP 的邻居关系(或称为对等实体 peer)是通过人工配置实现的,对等实体之间通过 TCP 端口 179 创建会话交换数据。 BGP 路由器会周期发送19自己的保持存活(keep-alive)消息维持连接。在各种路由协议中,只有 bgp 使用 TCP 作为传输层协议。

与其他路由协议对比:

bgp2

BGP 有两种邻居,其中在同一个 AS 内的 BGP 邻居称为 IBGP(Interior BGP),不同 AS 间的邻居称为 EBGP(Exterior BGP),无论是 IBGP 或者 EBGP,上面都运行着 BGP 协议,也就是说与 BGP 路由器直连的内部路由器不一定是它的 IBGP。

bgp3

注意: BGP 邻居不是自己发现的,而是手动配置的,原因是:

  1. 可以与对端设备用任何IP地址建立邻居,而不必限于某个固定的接口IP。这样当两台设备采用环回地址而非直连地址建立 BGP 邻居时,即时主链路断了,也可以切回到备份链路上,保持邻居不断。
  2. 可以跨越多台设备建立邻居。当一个 AS 有多个设备运行 BGP 建立域内全连接时,不必每台设备物理直连,只要用IGP保证建立邻居的地址可达,即可建立全网连接,减少不必要的链路。

路由注入及宣告

BGP路由器的路由注入和通告都是为了修改 BGP 路由表。

当路由器之间建立 BGP 邻居之后,可以相互交换 BGP 路由。一台运行了 BGP 协议的路由器,会将 BGP 得到的路由与普通的路由分开存放,所以 BGP 路由器会同时拥有两张路由表。 普通路由的称为 IGP路由表,用 show ip route 就能看到的路由表。IGP路由表的路由信息只能从 IGP 协议和手工配置获得,并且只能传递给 IGP 协议; 另一张是 BGP路由表,用命令 show ip bgp 查看。

初始状态下,BGP的路由表为空,没有任何路由,要让 BGP 传递相应的路由,只能先将该路由注入BGP路由表,之后才能在BGP邻居之间传递。注入的方式:

  1. 动态注入
  2. 半动态路由注入
  3. 静态路由注入

在注入路由后, BGP 路由器之间会进行通告。通告要遵守以下规则:

  • BGP 路由器只把自己使用的路由通告给相邻体
  • BGP 路由器从 EBGP 获得的路由会向所有BGP相邻体通告
  • 从 IBGP 获得的路由不会向 IBGP 相邻体通告
  • 从 IBGP 获得的路由是否通告给 EBGP 相邻体要依 IGP 和 BGP 同步的情况而定。

检查 BGP 的命令:

bgp4

IGP (内部网关协议)

在 AS 内部的协议,主要包括 RIP协议OSPF协议

RIP

距离向量协议,UDP协议,端口号为 520。

工作过程:

  1. RIP 路由器中初始的路由表只有自己的直连路由;路由表中每一项为一个三元组,即目标网络,该条路由信息的下一条地址以及距离;距离定义为经过的路由器数。
  2. 每个路由器发起自己的更新周期,将自己的路由表信息发送给相邻的路由表,接受到该路由表信息的临接路由表更新自己的路由表信息;
  3. 存在路由环路问题

OSPF(Open Shortest Path First)

使用的是链路状态路由算法,直接使用IP协议,协议类型为89.


最后修改 December 25, 2024: 菜单更新 (a57fa7d)