哈工大计算机网络课程网络层协议详解之:BGP协议详解
在之前的网络层协议中,我们介绍了Internet网络两个自治系统内的路由协议:RIP协议和OSPF协议。这两个协议应该来说是自治系统内协议的两个代表性协议,前一个基于距离向量路由算法,后一个基于链路状态路由算法。
在这一节中,我们进一步介绍Internet网络作为一个层次化路由,在自治系统间采用什么样的路由协议。为此引入BGP协议。
Internet AS间路由协议:BGP
BGP协议:边界网关协议(Border Gateway Protocol)。BGP协议目前已经成为Internet网络中域间(自治系统间)路由协议标准。目前正在使用的是BGP4,也就是第四版的BGP协议。BGP协议也是将Internet“粘合”为一个整体的关键,也正是因为有了这样的协议,才使得能够在全球性的大规模的Internet网络中实现路由信息的分发。
BGP为每个AS提供了一种手段:
- eBGP:从邻居AS获取子网可达性信息。 即根据邻居连接的自治系统,到达哪些子网的信息。
- iBGP:向所有AS内部路由器传播子网可达性信息。
- 当把上述信息传播给自治系统内的每个路由器之后,每个路由器都可以基于可达性信息与策略,确定到达其他网络的最优路径。
有了BGP协议之后,事实上使得整个互联网中的任何一个子网,在互联网中有了这样一种途径或机制,能够让它在整个互联网中向其他子网通告自己的存在,告诉其他子网/网络如何将数据传输到它对应的子网中来。这也是BGP协议之所以重要和存在的意义和价值。
BGP协议基础
BGP会话(session)
BGP协议的内容和原理较为复杂,本节首先在这里介绍协议的基础概念,便于后续理解。
BGP会话(session): BGP协议的主要工作过程是通过在路由器之间,交换BGP报文来完成的。在两个BGP路由器(“Peers”)之间交换BGP报文的过程称为一个BGP会话。在完成BGP会话的过程中,两端的路由器在术语中被称为”Peer“,类似P2P应用中的”Peer“概念。事实上,是为了强调两个路由器间没有绝对的主次关系,而是对等的两方。
利用BGP的报文交换,从而实现:
-
一个BGP的Peer路由器可以向另一个路由器通告去往不同目的前缀(prefix) 的路径(“路径向量(path vector)“协议)。这里的前缀也就是CIRD地址中的用来表示网络地址前缀。在网络中,我们经常使用前缀来表示一个子网,或者是一个任意大的IP网络。
由于BGP协议交换的是一个子网层次的,或者说一个自治系统层次的目的地址,因此我们也成BGP协议是一个路径向量协议。因为它交换的是一个完整的自治系统路径。这跟我们之前介绍的自治系统内通告交换的距离向量或链路状态分组都是有差别的。在这些通告中,交换的是到达目的网络或路由器的最小费用路径,而BGP协议中通告是交换到达目

本文介绍了BGP协议在Internet网络中的重要角色,作为自治系统间路由的标准,BGP负责通告和交换网络可达性信息。BGP通过TCP连接建立会话,使用OPEN、UPDATE、KEEPALIVE和NOTIFICATION等报文类型进行通信。路由选择基于策略,如AS-PATH、本地偏好和下一跳属性。BGP协议的使用旨在管理流量、控制路由并适应大规模网络的性能需求。
最低0.47元/天 解锁文章
2366

被折叠的 条评论
为什么被折叠?



