| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HCIP(九)BGP -> 正文阅读 |
|
[网络协议]HCIP(九)BGP |
动态路由协议划分算法:? ? ?距离矢量型 ---??RIP EIGRP(收敛最快),?BGP(传输路径信息),传输路由表。 ? ? ? ? ? ? ?链路状态型? ---?OSPF ISIS? ?传输链路状态信息。 ? ? ? ? ? ? ?路径矢量型 ---?BGP? ?传递和控制路由。 范围 :? ?IGP内部网关协议? ?---是在一个自治网络内网关 (?主机 和 路由器 )间交换 路由 信息的 协议 。路由信息能用于网间协议(IP)或者其它网络协议来说明路由传送是如何进行的。(AS 内部使用的协议) IGP 协议 包括RIP、OSPF、IS-IS、IGRP、EIGRP。 ? ? ? ? ? ? ? ?EGP ?边界网关协议? ?(AS 外部使用的协议) EGP协议包括EGP BGP ? ? ? ? 外部网关协议(EGP)为两个相邻的位于各自域边界上的路由器提供一种交换消息和信息的方法。BGP是常用的外部网关协议,是不同自治系统的路由器之间交换路由信息的协议。 BGP 区分号 AS 1-65535 64512-65535 私有AS 2^16 AS号不足? 特点:
BGP的建邻BGP是通过单播使用TCP协议建邻(TCP端到端),? ?端口号 :179 ?邻居类型: ? ? ? ? ? ? ?IBGP邻居 ---? ?AS内部建立的BGP邻居,邻居路由器的AS号是一致的。 ? ? ? ? ? ? ?EBGP邻居 ---??AS之间建立BGP邻居,邻居路由器的AS号不相同。 ??注意: 上图中如果不写上面那条命令,则默认用10.1.12.2做源IP,就会与对方申邻地址不一致,建邻不成功。(建邻需注意源的问题) 一般而言BGP的EBGP建邻会使用直连建立,IBGP建邻会使用回环建立。如果我们用回环建立EBGP邻居需要修改建邻跳数(跳数变大),BGP的跳数一般为1。 实验操作:(以下操作均以这个为基础)? ? ? ?bgp 200 router-id 2.2.2.2 peer 10.1.24.2 as-number 300 peer 10.4.4.4 as-number 300 peer 10.4.4.4 ebgp-max-hop 2 //修改跳数(跳数只要大于1就行,不一定必须是2 ),不加数值默认是255 peer 10.4.4.4 connect-interface LoopBack0 若,没有自动弹出建邻成功的信息,则需要修改下一跳的跳数,因为BGP有跳数约束。如下: ?? 此时,就会自动弹出建邻信息。 查看建邻信息:? bgp 100 router-id 1.1.1.1 peer 10.1.13.2 as-number 300 peer 10.1.13.2 password simple 123? ? ?//BGP的认证 断开邻居关系,操作如下: BGP邻居庄态以及包BGP没有周期更新,只有触发更新,update包可以更新路由也可以撤销路由,BGP更新速度非常慢。 ?BGP通过报文的交互完成邻居建立、路由更新等操作,共有Open、Update、Notification、Keepalive和Route-refresh等5种报文类型。 一条Update报文可以发布多条具有相同路由属性的可达路由,这些路由可共享一组路由属性。所有包含在一个给定的Update报文里的路由属性适用于该Update报文中的NLRI(Network Layer Reachability Information)字段里的所有目的地(用IP前缀表示)。 BGP路由器报文交互过程: Idle状态是BGP初始状态。在Idle状态下,BGP路由器拒绝邻居发送的连接请求。只有在收到本设备的Start事件后(设备开启BGP),BGP路由器才开始尝试与其邻居进行TCP连接,并转至Connect状态。 在Connect状态下,BGP路由器启动连接重传定时器(Connect Retry),等待TCP完成连接。 在Active状态下,BGP路由器总是在试图建立TCP连接。 在OpenSent状态下,BGP路由器等待邻居的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。 在OpenConfirm状态下,BGP路由器等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。 在Established状态下,BGP路由器可以和邻居交换Update、Keepalive、Route-refresh报文和Notification报文。 ??在BGP中,建邻和宣告分开来做。 建邻: ?R2 ?R3:? ? 并添加R4? ? ?查看邻居关系:?? ??此时,并没有宣告,如下: BGP路由生成:?
Network命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中。 ? ? ? ?? 掩码宣告,必须和路由表中路由掩码对应,否则宣告不进去。只能一条一条宣告。 ? ? ?2.importImport命令是根据运行的路由协议(RIP,OSPF,ISIS等)将路由引入到BGP路由表中,同时 import命令还可以引入直连和静态路由。 引入操作: ? ? ? ?? BGP路由学习
路由黑洞问题
BGP的路由更新本地路由(BGP-RIB)---->过滤---->出向BGP-RIB---updata-->邻居的入向BGP-RIB-->过滤--->邻居的本地BGP-RIB BGP的过滤刷表:?
2.使用route-policy来实现过滤 BGP属性?? 对于BGP来说,BGP路径属性被分为四大类:公认(必遵,任意),可选(过度,非过渡) 公认属性:所有BGP路由器都必须识别并支持的属性。 ? ? ? ? 公认必遵:BGP的Update消息中必须包含的属性。? ? ? ? 公认任意:不必存在于BGP的Update消息中,可以根据需求自由选择的属性。可选属性:不要求所有的BGP路由器都能够识别的属性。 ? ? ? ? 可选过渡:BGP不能识别该属性,但可以接收该属性并将其发布给它的邻居的属性。? ? ? ? 可选非过渡:BGP可以忽略包含该属性的消息并且不向它的邻居发布。? Origin属性是决定最优路径的一个因素,用于标明路由的起源。 Origin的3种属性: ? ? ? ? ? ? ? ?i ---?表明BGP路由通过network命令注入; ? ? ? ? ? ? ? ?e ---?表明BGP路由是从EGP学来的,EGP协议在现网中很难见到,但可以通过路由策略将路由的Origin属性修改为e; ? ? ? ? ? ? ? ? ---??即Incomplete表明BGP路由通过其它方式学到路由信息,如使用import命令引入的路由。 3种Origin属性的优先级为:i>e>Incomplete(?)。? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:54:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |