当前位置: 首页 > news >正文

HCIP第四节-----------------------------BGP

一、BGP基础

1、BGP得概述

(1)、AS

OSPF、IS-IS等IGP路由协议在组织机构网络内部广泛应用,随着网络规模扩大,网络中路由数量不断增长,IGP已无法管理大规模网络,AS的概念由此诞生。 AS指的是在同一个组织管理下,使用统一选路策略的设备集合。 不同AS通过AS号区分,AS号存在16bit、32bit两种表示方式。IANA负责AS号的分发。 当不同AS之间需要进行通信时,在AS之间应使用何种路由协议进行路由的传递?

(2)、BGP的概述

BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议。早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4(RFC1771),2006年之后单播IPv4网络使用的版本是BGP-4(RFC4271),其他网络(如IPv6等)使用的版本是MP-BGP(RFC4760)。 BGP的特点: BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。 BGP能够承载大批量的路由信息,能够支撑大规模网络。 BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。 BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。 BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。

(3)、BGP特征

BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。 运行BGP的路由器被称为BGP发言者(BGP Speaker),或BGP路由器。 两个建立BGP会话的路由器互为对等体(Peer),BGP对等体之间交换BGP路由表。 BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)。 BGP能够承载大批量的路由前缀,可在大规模网络中应用。

BGP通常被称为路径矢量路由协议(Path-Vector Routing Protocol)。 每条BGP路由都携带多种路径属性(Path attribute),BGP可以通过这些路径属性控制路径选择,而不像IS-IS、OSPF只能通过Cost控制路径选择,因此在路径选择上,BGP具有丰富的可操作性,可以在不同场景下选择最合适的路径控制方式。

(4)对等体特征

与OSPF、IS-IS等协议不同,BGP的会话是基于TCP建立的。建立BGP对等体关系的两台路由器并不要求必须直连。 BGP存在两种对等体关系类型:EBGP及IBGP: EBGP(External BGP):位于不同自治系统的BGP路由器之间的BGP对等体关系。两台路由器之间要建立EBGP对等体关系,必须满足两个条件: 两个路由器所属AS不同(即AS号不同)。 在配置EBGP时,Peer命令所指定的对等体IP地址要求路由可达,并且TCP连接能够正确建立。 IBGP(Internal BGP):位于相同自治系统的BGP路由器之间的BGP邻接关系。

先启动BGP的一端先发起TCP连接,如左图所示,R1先启动BGP,R1使用随机端口号向R2的179端口发起TCP连接,完成TCP连接的建立。 三次握手建立完成之后,R1、R2之间相互发送Open报文,携带参数用于对等体建立,参数协商正常之后双方相互发送Keepalive报文,收到对端发送的Keepalive报文之后对等体建立成功,同时双方定期发送Keepalive报文用于保持连接。 其中Open报文中携带: My Autonomous System:自身AS号 Hold Time:用于协商后续Keepalive报文发送时间 BGP Identifier:自身Router ID

BGP对等体关系建立之后,BGP路由器发送BGP Update(更新)报文通告路由到对等体

(5)BGP路由生成

不同于IGP路由协议,BGP自身并不会发现并计算产生路由,BGP将IGP路由表中的路由注入到BGP路由表中,并通过Update报文传递给BGP对等体。 BGP注入路由的方式有两种: Network import-route 与IGP协议相同,BGP支持根据已有的路由条目进行聚合,生成聚合路由。

http://www.lryc.cn/news/133815.html

相关文章:

  • Temu闯关日韩受挫?跨境电商卖家如何打磨好营销链路
  • console的几个常用用法
  • 服务器数据恢复-HP EVA存储VDISK被删除的数据恢复案例
  • (搜索) 剑指 Offer 13. 机器人的运动范围 ——【Leetcode每日一题】
  • Java并发编程之线程池详解
  • 开源数据库Mysql_DBA运维实战 (总结)
  • 图神经网络与分子表征:1. 分子图和图神经网络基础
  • Spring Boot与Redisson的整合。分布式锁
  • Lua中逻辑运算符and,or,not 区别与用法
  • 使用 spaCy 增强 NLP 管道
  • 【HCIP】08.ISIS中间系统
  • Android 13 Framework 添加自定义的系统服务CustomService
  • 前端食堂技术周刊第 95 期:Fresh 1.4、Rollup 迁移至 SWC计划、RSC Devtools、使用开源库的边界、AI 帮你讲论文
  • 【TypeScript】枚举类型
  • 快速通过华为HCIP认证
  • 派森 #P124. 公式计算
  • opencv进阶14-Harris角点检测-cv2.cornerHarris
  • JVM中对象和GC Root之间的四种引用关系
  • 【李宏毅机器学习】注意力机制
  • Nginx使用keepalived配置VIP
  • C语言编写图形界面
  • K8s学习笔记3
  • ceph集群的扩容缩容
  • gremlin安装使用 详细步骤
  • Java语言怎么编写一个程序计算出租车的运输费用:出租车起步15公里以内20块钱,需要支付调头费用
  • 十、flume的安装
  • 互联网广告及产品变现认知分析整理
  • item_search_img-按图搜索淘宝商品(拍立淘)
  • OWASP Top 10(2021)漏洞学习(最新)
  • mysql 、sql server 游标 cursor