IP和BGP,OSPF之间的那些事

IP和BGP,OSPF之间的那些事

知识补充

在我们深入讨论之前的,我们先来做一点前置知识补充。我们在学习网络层都知道最著名的IP协议,另外OSPF和BGP也是在网络层这一章学习的协议。OSPF是作用于同一个AS内部的路由选择,而BGP是作用于不同的AS之间的路由选择。

问题引出

OSPF和BGP是网络层协议吗?
如果不是的话,为什么要放在网络层这一章节来讲呢?IP协议跟他们又有什么关系呢?

解答

一 首先它们两个都不是网络层的协议,这里关于OSPF我引用书上的语言 ”OSPF报文直接由IP承载“,书中并没有明确的指出OSPF是那一层协议,而这又对应书中的另一句话”不要太纠结于协议应该属于那一层,现实世界就是这么复杂“。不过我们可以推断出OSPF应该属于传输层,毕竟它下层使用IP协议。
而关于BGP书中明确的指出它属于应用层协议,使用TCP。
二 这个问题就说来话长了,首先网络层更细分的话可以拆成数据平面和控制平面,而关于两者的功能简单说就是数据平面致力于解决到达路由器的分组如何从路由器的输入端到路由器的输出端。控制平面则解决宏观上的分组转发问题(比如路径最短问题)。下面我们重点来看OSPF和BGP为什么放在网络层。我们上面说网络层分为两部分,这里OSPF和BGP实际上是放在控制平面来讲的,这两种协议完成的功能可以概况为路由选择。
我们知道网络层实际上就做两件事:转发和路由选择,转发这件事是路由器中的转发表完成的,而转发表的实现就是通过区分IP首部的字段来划分到不同的输出端,比如IP地址以0100开头的需要转发到0号输出端口,0101开头的转发到1号输出端口。。。。。而OSPF和BGP是用来宏观上控制分组的转发的。
所以既然用于控制数据报的转发,所以才会有两个根本不是网络层的协议放在网络层这一章的”怪像“。
下面我们详细的看OSPF和BGP的功能。
OSPF:使得每台路由器都有一个自己AS的完整的网络拓补图,运行时通过Dijkstra算法来选择到达另一端的最短的路径。
BGP:使用TCP允许每个子网向互联网上其他的AS通知他的存在。
我们看看有了OSPF和BGP以后的数据报有多“自由”,我们假设我没有使用WIFI。
我们假设一个报文从我电脑开始传输。
一次成功的传输分两种情况。
第一种是我和同一个AS下的小伙伴通信,这个时候我电脑上发送的报文最后变成bit(物理层),bit到我家里的路由器封装成数据报,因为是同一个AS,所以使用OSPF的Dijkstra
算法将我的数据报转发到目的路由器,然后目的路由器在顺着网线传给我的小伙伴。
第二种是我和小伙伴不在同一个AS下的通信,这个时候不同的AS已经通过BGP协议完成了信息的交换,结果就是两个AS连接到了一起。
这里注意两点
每个路由器都会进行BGP的通信以交换信息。
每个路由器都会运行BGP的路由选择算法来确定合适的路径。
这个时候我电脑上发送的报文最后变成bit(物理层),bit到我家里的路由器封装成数据报,然后路由器
会运行BGP的路由选择算法来确定合适的路径从而到达另外一个AS中的路由器,进而顺着网线传给我的小伙伴。

### BGPOSPF的区别 #### 协议分类差异 OSPF属于内部网关协议(IGP),主要用于自治系统(AS)内的路由选择。该协议的设计目标在于实现快速收敛、优化路径选择以及减少资源消耗[^1]。 而BGP则被定义为一种外部网关协议(EGP), 主要用于同自治系统之间的通信。相较于前者,后者更强调可靠性控制能力,并采用逐个AS跳跃的方式来进行数据包转发。 #### 功能侧重点的同 对于OSPF而言, 它专注于如何在一个相对较小且同质化的网络环境中高效地找到最优路径并迅速响应拓扑变化; 对此,BGP直接参与路由计算而是侧重于管理交换跨多个异构网络间的可达性信息,在此基础上做出策略性的决策来决定最佳路径[^3]. #### 路由更新机制对比 当涉及到具体的路由信息发布过程时, OSPF利用链路状态广播(LSA)的形式在整个区域内同步最新的网络状况描述;相比之下,BGP则是基于增量式的更新模式—仅发送那些发生变化的部分前缀给相邻节点,这有助于降低带宽开销的同时也提高了系统的稳定性[^2]. ```python # 这里展示了一个简单的Python伪代码片段用来区分两者的工作方式: def ospf_update(): # 发送完整的LSA数据库副本至所有邻居路由器 send_full_lsa_database_to_all_neighbors() def bgp_update(prefixes_changed): # 只向特定的对等体通告有变动的前缀列表 notify_peers_with_updated_prefix_list(prefixes_changed) ``` ### BGPOSPF的联系 尽管这两种协议有着明显的分工界限,但在实际部署中它们往往协同工作以构建起更加复杂灵活的企业级或服务提供商级别的IP互联架构: - **互补作用**: 当企业拥有跨越多个地理位置的数据中心站点时, 内部使用OSPF能够确保各分支间高效的互联互通,而在这些独立管理域之外,则依靠BGP与其他合作伙伴或者互联网建立安全可靠的连接通道[^4]. - **冗余保护**: 在某些场景下为了提高整体网络健壮性会同时启用两种类型的路由协议形成主备关系。例如,当一条直连线路发生故障后可以通过备用隧道继续维持业务连续性直到原路径恢复正常运作为止.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值