文档库 最新最全的文档下载
当前位置:文档库 › BGP路由总结

BGP路由总结

BGP路由总结
BGP路由总结

BGP路由协议

BGP是一种自治系统间的动态路由协议,它的基本功能是在自治系统之间提供自动交换无环路由信息,通过交换带有自治区域号(AS)序列属性的路径可达信息,来构造自治区域的拓朴图,从设计上消除了路由环。

BGP基本概念:

BGP特点:

●BGP是一种外部路由协议,与OSPF、RIP不同,其着眼点不在于发现和计算路由,而

在于控制路由的传播和选择最好的路由。

●BGP通过携带AS路径信息,可以彻底的解决路由循环问题。

●为了控制路由的传播和路由的选择,为路由附带属性信息。

●使用TCP作为其传输层协议,提高了协议的可靠性。端口号179。

●BGP-4支持CIDR(无类别域间选路),CIDR的引入简化了路由聚合,减化了路由表。

●BGP更新时只发送增量路由,减少了BGP传播路由占用的带宽。

●提供了丰富的路由策略。

1、自治系统

定义:由同一技术管理机构管理,使用统一选路策略的一些路由器的集合。每一个自治系统都有唯一的自治系统编号,这个编号是由因特网授权管理机构分配的。

引用自治系统的思想是:通过不同的编号来区分不同的自治系统。

自治系统的编号范围是1到65535,其中1到65411是注册的因特网编号,65412到65535是专用网络编号。

2、BGP工作机制

BGP作为一个应用层协议运用在一台特定的路由器上,系统启动时通过发送整个BGP 路由表交换路由信息,之后为了更新路由表,只交换更新信息,在系统运行过程中,通过接收和发送keep-alive消息来检测相互之间连接是否正常。

自治系统分为过渡自治系统和SUTB自治系统。

BGP发送优选的BGP路由和引入的IGP路由给对等体(peer)。

3、BGP的两种邻居

IBGP:对等体之间不一定是物理直连的,但必须保证逻辑上的全连接。(TCP连接)EBGP:对等体之间有物理上的直接链路。

4、BGP的路由通造原则

多条路径时,BGP speaker 只选择最优的路径给自己使用。

BGP speaker只将自己使用的路由通告给相邻体。

BGP speaker从EBGP获得的路由会向所有的BGP相邻体通告。

BGP speaker从IBGP获得的路由不向它的IBGP相邻体通告。

BGP speaker从IBGP获得的路由信息是否通告给EBGP相邻体,要依据IGP和BGP的同步情况来决定。

连接一建立,BGP speaker将自己所有的BGP路由信息通告给新相邻体。

5、BGP同步

BGP必须等待直到IGP在其自治系统中成功的传播该选路信息,才向其它自治系统通告过渡信息。

当As中所有的BGP路由器组成IBGP全合闭网时,可以取消同步。

路由器在向IBGP邻居通告路由时强制下一跳为自己本身的接口。

6、BGP的三种路由来源

BGP的路由信息需要通过配置命令的方式注入到BGP中。

纯动态注入:路由器将通过IGP路由协议动态获得的路由信息直接注入到BGP中。

半动态注入:路由器有选择性的将IGP路由协议获得的动态路由信息注入到BGP中。

静态注入:路由器将静态配置的某条路由注入到BGP系统中。

7、BGP的四种报文

Open报文:用来交换各自版本号、自治系统号、保持时间、BGP标识等信息,进行协商。

Updata报文:携带更新路由信息,其中包括撤消路由信息和可达路由信息及其路径属性。

撤消路由和目的地址的表示方法为:length表示地址前缀的长度,prefix表示地址前缀。

UPDATA由不可达路由、路径属性和网终可达性信息三部分构成。

一个UPDATA消息一次只能通告一个路由,但可以携带多个路径属性。

一个UPDATA消息一次可以通告多个路由,但它的路径属性必须相同。

一个UPDATA消息一次可以列出多个被撤消的路由。

Notification报文:BGP检测到连接中断、协商出错、报文差错时,关闭同对等体的连接。

Keepalive报文:在BGP对等体之间周期性的发送报文,以确保其连接有效。

OPEN报文首先建立邻居关系,其它对等体收到OPEN报文后,以KEEPALIVE作出响应,握手成功后开始UPDATA,之后是KEEPALIVE和NOTIFICATION等消息的交换操作。

8、BGP协议的状态机

BGP邻居关系建立过程

首先是idle状态,BGP一旦开始,状态机就进入connect状态,之后,如果connect-retry 定时器超时,则停在connect状态,并建立TCP连接,如果连接失败则进入active状态,如果成功则进入opensent状态。在active状态下,如果TCP状态建立不成功则一直在active 状态下,成功后进入opensent状态。在opensent状态下,BGP一旦收到open报文,就会进入openconfirm状态下。在openconfirm状态下,如果keepalive定时器超时则会停在openconfirm状态下,直到收到keepalive报文,BGP进入established状态,BGP建立成功。

9、BGP的属性

BGP的属性是一套参数,对特定的路由进行进一步的描述,使BGP能够对路由进行过滤和选择。路由属性分为如下几类:

必遵属性:在路由更新的数据报中必须存在的路由属性,如缺少必遵属性,路由信息就会出错。

可选属性:可选的,不一定存在于更新的数据报文中,根据需要配置。

过渡属性:具有AS间可传递的属性就是过滤属性,过滤属性的域值可以被传送到其它AS中,并继续起作用。

非过滤属性:只在本地起作用,出了自治系统,域值就会恢复到缺省值。

常见BGP路由属性

Origin(起点)属性:定义路径信息的来源,标记一条路由怎么成为BGP。是必遵的路由属性。

在其它因素相同的情况下,BGP按IGP、EGP、INCOMPLETE的顺序选择路由。

IGP为是将聚合路由和用直接注入到BGP路由表的具体路由看作AS内部的。

EGP是通过EGP得到的路由的起点。

INCOMPLETE通过其它的IGP协议引入的路由起点。

AS-path(AS-路径)属性:是路由经过的AS序列,即列出在到达所通告的网络之前所经过的AS清单。是一个必遵的过渡属性。BGP使用AS-PA TH属性作为路由更新的一部分

来确保在INTERNET上的一个无环路的拓朴结构。BGP不会接受在AS路径属性中包含本自治系统的路由。BGP在向EBGP对等体通告一条路由中,要将自己的AS号加入到AS路径属性中。在其它因素相同时,选择AS路径最短的路由。

Next-hop(下一跳)属性:到达更新消息所列网络的下一跳边界路由器的IP地址。是一个必遵过渡属性。BGP在向IBGP通告其它EBGP的路由信息时,不改变下一跳地址。BGP在向EBGP通告路由信息时,下一跳属性为BGP与对端连接的本地端口地址。对于可能多路访问的网络,下一跳情况会不同。

MED属性:当某个AS有多个入口时,用MED属性可能帮助外部的邻居路由器选一条较好的入口路径,一条路由的MED值超低,其优先级越高。可选非过渡属性,路由器只比较来自同一AS中各EBGP邻居路径的MED值,不比较来自不同AS的MED值,除非能够确实不同的AS采用了相同的IGP和路由选择方式。

Local-perference本地优先属性:用于在自治系统内优选到达某一目的地的路由。可选非过渡属性。本地优先属性是用来帮助AS内部的路由器到区域外部选择一个较好的出口,即本地优先较高的出口点。

Community(团体)属性:团体属性标识了一组有相同特征的路由信息,与它所在的IP 网段和自治系统无关。可选过渡属性。公认团体有:

NO-EXPORT:不应该通告给其它联盟之外的对等体。

NO-ADVERTISE:不应该通告给任何BGP对等体。

LOCAL-AS:通告给本地AS内的对等体,不应该通告给任何EBGP对等体。

INTERNET:通告给所有其它路由器。

10、BGP路由选择过程

如果此路由的下一跳不可达,则忽略此路由。

选择本地优先级较大的路由。

选择本地路由器始发的路由(本地优先级相同)

选择AS路径较短的路由

依次选择起点类型为IGP、EGP、INCOMPLETE路由。

选择MED较小的路由

选择ROUTER ID较小的路由。

11、BGP基本配置

[quidway]bgp as-number 启动BGP,as-number指本地自治系统号。

[quidway-bgp]peer peer-address as-number as-number配置BGP邻居,IBGP配置

as-number为AS号,EBGP配置as-number为EBGP所在AS号。

[quidway-bgp]network ip-address [mask mask]

[quidway-bgp]import-route protocol[med med]配置注入路由

12、BGP参数配置

[quidway-bgp]peer peer-address version version-number 配置同伴BGP的版本号

[quidway-bgp]timers keepalive-interval holdtime-interval配置BGP定时器的时间间隔和连接保持间隔,通常时间间隔为连接保持间隔的三分之一

[quidway-bgp]peer peer-address route-updata-interval seconds配置同伴发送UPDATA报文的时间间隔。

13、配置BGP路由策略

[quidway-bgp]peer {group-name|peer-address}filter-policy acl-number {import|export}配置对等体的前缀过滤器。

[quidway-bgp]peer peer-address acl aspath-list-number {import|export}配置对等体的AS路径过滤器。

[quidway-bgp]peer peer-address route-policy policy-name {import|export}配置对等体的路由策略。

14、BGP路由器对路由的处理过程

对ASBR来说,路由有两种来源:从对等体接收的和从IGP引入的。对于接收的:BGP 可能从多个对等体收到目的地相同的路由,根据规则选择最好的路由加入的IP路由表中。

对于IGP引入的:要经过引入策略的过滤和设置,BGP发送优选的BGP路由和引入IGP 路由给对等体。

15、BGP在大规模的网络中遇到的问题

路由聚合就是把各段路由综合到一个或多个聚合或CIDR中,以便把路由表中的路由数目减到最小。

[quidway-bgp]addregate 172.16.0.0 255.255.240 detail-suppressed只通告聚合路由。

BGP反射:指定一台集中路由器作为内部对话的焦点,多个BGP路由器可以与一个中心对等话,然后多个路由反射器在进行对等话。

[quidway-bgp]reflect cluster-id 10 指定焦点

[quidway-bgp]peer 1.1.1.2 reflect-client 指定非客户路由器

BGP联盟:[quidway-bgp]confederation id 100 申所属的自治系统

[quidway-bgp]confederation peer-as 201 本自治系统中的邻居子系统。

BGP路由衰减:控制路由不稳定的技术。可达衰减期,不可达衰减期,重用值,抑制值,惩罚上限。[quidway-bgp]dampening 15 15 500 1000 8000

路由策略与引入

1.路由策略的作用

1、路由信息过滤的手段

2、发步路由信息时只发送部分信息

3、接收路由信息时只接收部分信息

4、进行路由引入时,引入满足特定条件的信息支持等值路由

5、设置路由协议引入的路由属性

路由策略由一系列规则组成,规则大体分为三类,分别作用于路由发布、路由接收和路由引入过程。定义一条策略等同于定义一组过滤器,并在接收、发布一条路由信息或在不同协议间进行路由信息交换前应用这些过滤器,路由策略也常被称为路由过滤。公共过滤器是路由策略实现的基础。

2.策略相关的五种过滤器

1、路由策略(routing policy):由一组if-match和apply子句组成,if-match定义所满足

的过滤条件,apply定义满足了过滤条件后执行的命令。

2、访问列表(access-list):

3、前缀列表(prefix-list):在应用于路由信息的过滤时,匹配对象为路由信息的目的

地址信息域,另一种应用直接用于路由器对象,使本地路由协议只能接收某些特定路由器发布的路由信息,这些路由器的地址必须通过prefix-list的过滤。

4、自治系统路径信息访问列表(aspath list):仅用于BGP协议

5、团体属性列表(community-list):仅用于BGP协议

3.路由策略与过滤器的关系

在路由引入(import-route)时使用routing policy

匹配as-path时使用AS-PA TH LIST

匹配community 时,使用community list

匹配ip address时,使用ip prefix和access list

在路由发布(export)和路由接收(import)时使用地址前缀列表和访问控制列表,接收时还可以使用gateway(特定路由器)

4.路由策略的配置

路由策略的配置可以分为过滤列表的定义和过滤列表的应用两部分,过滤器的应用实际

上是一个策略规则的定义过程,通过对过滤器的引用以实现路由过滤的功能。

定义路由策略(routing policy):

[quidway]route-policy policy-name {permit|deny}{seq-number}一个routing policy下可以有多个节点,不同的节点用seq-number标识,不同的seq-number各个部分之间的关系是或的关系,即路由信息依次匹配各个部分,通过routing policy的某一部分,就意味着通过该routing policy过滤。

定义路由策略的if-match子句:

if-match as-path aspath-list-number指定匹配路由信息的原AS路径前的AS序号

if-match community {standard-community-list-number[exact-match]|

extended-community-list-number} 指定匹配路由信息BGP团体属性

if-match ip address {acl-number|ip-prefix prefix-list-name}指定匹配的路由信息访问列表和前缀列表

if-match interface [type number]指定匹配的接口

if-match ip next-hop{acl-number|ip-prefix prefix-list-name}指定路由信息的下一跳

if-match cost cost指定匹配的OSPF路由信息的花费

if-match tag tag-value指定匹配OSPF路由信息的标记域的值

if-match route-type{internal|external}指定匹配的路由信息的路径类型

每个节点下可以有多个if-match和apply子句,if-match子句之间是与的关系,即路由信息必须通过该部分所有if-match子句的匹配才算通过routing policy该部分的过滤;如果不指定if-match子句,则所有的路由信息都会通过该节点的过滤。

定义路由策略的apply子句:

apply as-path aspath-list-number指定原AS路径前的AS序号

apply community {{[aa:nn][no-export-subconfed][no-advertise][no-export]}[additive]|none| additive}指定设置BGP团体的属性

apply ip next-hop ip-address 配置BGP路由信息的下一跳地址

apply local-preference local-preference配置BGP路由信息的本地优先级

apply cost cost配置路由信息的路由花费

apply origin{igp|egp as-number|incomplete}配置BGP路由信息的路由源

apply tg tag-value配置OSPF路由信息的标记域

引入其他协议的路由信息:

路由协议可以通过引入其它协议路由信息的方式来共享对方的路由信息,在引入其它协议路由信息时,可以通过对一个路由策略的引过过滤掉不期望的路由,实现有选择的引入。

Import-route protocol [cost cost] [route-policy route-policy-name]RIP协议配置引入

Import-route protocol[cost cost] [type1|2] [tag tag-value][route-policy policy-name]OSPF配置引入,tag 是OSPF引入其它协议路由时,设定引入路由的标记域

Import-route protocol [med med][route-policy policy-name]

定义地址前缀列表prefix-list:

ip ip-prefix prefix-list-name [index index-number]{permit|deny}network/len [greater-equal ge-value][less-equal le-value]定义前缀列表,地址前缀列表用于IP地址的过滤,一个地址前缀列表可以有若干条表项,每一个表项指定一个地址前缀范围,地址前缀范围有两部分,分别由len与[greater-equal ge-value][less-equal le-value]来确定,若两部分前缀范围都被指定,则待过滤IP必须匹配这两部分的前缀范围。

配置路由过滤:

在某些情况下,可能只发布或引入某些满足条件的路由信息以阻止邻居路由器得知某些路由,可利用路由策略中对地址前缀列表和访问列表的引用来实现路由信息的过滤。

Filter-policy gateway prefix-list-name import配置对接收的路由进行过滤

Filter-policy {acl-number|ip-prefix prefix-list-name}import配置对接收的全局路由信息进行过滤。

Filter-policy ip-prefix prefix-list-name gateway prefix-list-name import配置对接收的指定地址发布的路由进行过滤,又对匹配prefix-list 的路由进行过滤。

Filter-policy{acl-number|ip-prefix prefix-list-name}export [protocol]配置对协议发布路由

的过滤。

AS正则表达式:

。:匹配任意单字符。* :匹配模式中0或更多的序列

+ :匹配模式中的1或更多的序列?:匹配模式0或1次出现

^ :匹配输入字符串的开始$:匹配输入字符串的结束

—:匹配逗号,括号,字符串的开始和结束,空格。

[]:表示一个单字符模式的范围…:把一个范围的结束点分开

网络安全特性

1、网络安全概述

1、络安全是internet必须面对的实际问题

2、网络安全是一种综合性技术

3、网络安全具有两层含意:保证内部局域网的安全(不被非法入侵),保护和外部进

行数据交换的安全。

4、网络技术的完善和更新

2、网络安全关注范围

●保护网络物理线路不会轻易遭受攻击

●有效的识别合法的和非法的用户。

●实现有效的访问控制

●保证内部网络的隐蔽性

●有效的防伪手段,重要的数据重点保护

●对网络设备、网络拓扑的安全管理

●病毒防范

●提高安全的防范意识

3、网络安全必要的技术

●可靠性和线路安全

可靠性要求主要针对于故障恢复和负载能力

主备运行:主接口故障时,备份接口自动接替主用接口的工作

负载分担:网络流量增大时,备份链路承担部分主用接口的工作

线路安全指的是线路本身的安全性:防止非法用户利用线路接口进行访问。

●身份认证

访问路由器时的身份认证:console口配置、telnet登陆配置、snmp配置、modem远程配置。对其它路由的身份认证:直接相连的邻居路由器、逻辑连接的对等体。

路由信息和身份认证:防止伪造路由信息的侵入。

●访问控制

对网络设备的访问控制:分级保护、不同级别的用户有不同的操作权限。

基于五元组的访问控制:根据数据包信息进行数据分类、不同的数据流采用不同的策略。

五元组指IP报头中的源IP地址、目的IP地址、协议号、源端口、目的端口五个元素。

基于用户的访问控制:对于接入的服务用户,设定特定过滤属性。

●信息隐藏

地址转换:隐蔽私网内部IP、仅仅是内部用户可以直接发起建立连接请求

应用场合:内部局域网访问Internet

●数据加密和防伪

数据加密:

利用公网传输数据,不可避免的面临数据窃听的问题

传输之前进行数据加密,保证只有与之通信的对才能够解密

数据防伪:

报文在传输过程中,被截获、修改,重新投放到网络上

接受端进行数据识别,丢弃被修改的报文

相关技术:数据加密、数字签名、IPSEC

●安全管理

保证重要的网络设备处于安全的运行环境,防止人为破坏

保护好访问口令,密码等重要的安全信息

进行安全策略管理,有效的利用安全策略

在网络出入口实现报文审计和过滤,提供网络运行的必要信息

网络攻击主要方式:窃听报文、IP地址欺骗、源路由攻击、端口扫描、拒绝服务攻击、应用层攻击。

4、QUIDWAY路由器的安全技术

AAA提供一个实现身份认证的主框架,是验证、授权、计费的简称,提供基于用户的验证、授权、计费的服务,AAA技术不是根据IP地址等信息来验证用户,而是根据用户名、口令对用户进行验证。使用RADIUS等协议实现对网络的访问控制。

包过滤技术是利用访问控制列表实现的一种防火墙技术,包过滤技术是最常用的一种访问控制手段,提供基于IP地址、端口和时间段包过滤,利用包过滤技术可以阻挡“不信任网络”的访问。

地址转换技术提供了内部用户透明访问外部网络的功能,有效地屏蔽了内部网络地址,禁止外部主机直接访问内部网络,实现了内部主机的隐藏。

IPSEC和IKE技术的结合使用,有效的提供了在INTERNET网上进行数据加密和数据

防伪的功能。

IPSEC可以实现数据的加密和防伪,可以使在不安全的线路上传输加密信息,形成“安全隧道”。为用户在INTERNET上提供安全的VPN解决方案。

IKE为通信双方提供交换密钥等服务,定义了通信双方进行身份认证、协商加密算法以及生成共享的会话密钥的方法,并保证永远不在不安全的网络上直接传送密钥,而是通过一系列交换信息计算密钥。

隧道技术是实现VPN技术的核心技术,二层隧道技术主要有VPDN,主要用来提供拨号接入服务,三层隧道主要有GRE技术,主要用来使用户在INTERNET上构建自己的虚拟专网。

5、安全接入INTERNET

基于接口的包过滤,并可以在进出方向上分别设置。

可以对特殊的时间段定义特殊的包过滤规则,实现与时间相关的访问需求。

内部网络的用户可以通过地址转访问INTERNET,内部地址对外屏蔽。

外部不能直接访问内部网络

可以通过地址转换向外提供WWW、FTP等服务器

日志主机可以记录网络运行情况,便于用户的安全分析与管理

6、AAA概述

验证(authentication):验证用户身份,

用户名、口令验证:包括PPP的PAP和CHAP验证,EXEC用户验证、FTP用户验证。拨号的PPP用户可以进行主叫号码的的验证。

授权(authorization):授权用户可以使用哪些服务,可以PPP、EXEC、FTP的一种或几种。回呼号码:对PPP回呼用户可以设定回呼号码。隧道属性:可以配置L2TP的隧道属性。计费(accounting):记录用户使用网络资源的情况,对用户进行计费,对于进行了验证的用户缺省都要进行计费。不需要计费一定要配置aaa accounting-scheme optional 实现AAA功能可以在本地进行,也可由AAA服务在远程进行,计费功能由于占用系统资源大通常都使用AAA服务器实现,对于用户数量大的情况,验证和授权也应该使用AAA服务器,AAA与网络设备通信有标准协议,目前流行的是RADIUS协议。

提供AAA支持的服务:

PPP的PAP和CHAP验证的用户。EXEC:指通过TELNET登录到路由器,以及通过各种方式进入路由器进行配置的操作。FTP:通过FTP登录到路由器的用户。

AAA配置命令:

Aaa enable 启用AAA

Aaa authentication-scheme {local|ppp}{default|methods-list}{methods1[methods2…]}配置local和ppp的验证方法表,缺省方法表的缺省方法是本地验证,验证方法有三种:radius、local、none。5种有效的组合:radius、local、none、radius local、radius none。

方法表的概念:local只能配置一个方法表,只要配置了方法表即自动应用到所有需要AAA的FTP用户、EXEC用户。PPP可以配置多个方法表,特定的接口使用哪个方法表还需要将这个方法表应用以接口上,即在接口上配置:PPP authentication-mode{pap|chap}[callin] [scheme {default|name-list}]。

7、RADIUS概述

RADIUS采用客户机/服务器结构,在路由器上运行RADIUS客户端程序。验证时客户端的任务是将用户的信息发送到指定的服务器,然后根据服务器的不同响应进行处理。RADIUS服务器的任务是接收客户端发来的用户连接请求,验证用户,并返回客户端提供服务所需要的配置信息。RADIUS服务器的数据库中集中存放了相关的安全信息,避免安全信息凌乱散布带来的不安全性,同时更可靠且易于管理。实瑞计费时,客户端将用户的上网时长、进出字节数、进出包数等原始数据送到RADIUS服务器上,以供RADIUS服务器计费时使用。

RADIUS协议使用了两个UDP端口分别用于验证和计费,使用1812号端口作为验证端口,1813号端口用于计费。

RADIUS协议采用了“请求/响应”的操作模式,请求由客户端发起。路由器提供重传机制,RADIUS服务器收到一个合法的请求后给予响应,当客户端在一定的时间内没有收到RADIUS服务的响应时,会重传刚才的请求,如果多次重传后仍然收不到响应,那么路由器会向备用的RADIUS服务器发送请求。

客户端与服务器共享密钥,通讯时使用MD5算法通过共享密钥对包进行数字签名,签名的正确性可以防止网络上的其他主机冒充路由器或RADIUS服务器,用户口令也要进行加密后再在网上传送,使口令不会泄漏。

每个RADIUS包有0到多个属性,用户的各种信息均写在属性中,一些属性协议还规定了各属性值的做含义。

第次计费过程包括计费请求、计费应答。对一个用户的计费过程有:计费开始、实时计费、计费结束。计费信息:会话时间、输入输出包数、输入输出字节数。

RADIUS协议为标准协议,遵循RADIUS协议的所有服务器可以互通。用户管理放置在RADIUS服务器端进行,有相应的管理软件。用户可以灵活选用RADIUS服务器及用户管理软件。

RADIUS基本配置:

Radius server{hostname|ip-address}[authentication-port port-number][accounting-port port-number]配置服务器的地址和端口号,最多可配置3个服务器

Radius shared-key string配置共享密钥

Radius retry times 配置最大重传次数,如果达到这个次数仍未得到应答,则认为不可用。

Radius timer response-timeout seconds 配置重传时间间隔,单位为秒

Radius timer realtime-accounting minutes 配置实时计费时间间隔,单位为分,此时间不易过短,否则会占用大量系统资源

VPN原理及配置

1.VPN的分类

按应用类分类:

access vpn:(DVPN)解决公司员工在异地访问公司内网的问题,提供身份验证、授权和记费的功能。

intranet vpn:通过公用网在各个路由器这间建立VPN安全隧道连接来传输用户的私有网络数据。常用技术有GRE、Ipsec。

extranet vpn:利用VPN将企业网延伸至合作伙伴与客户。

按实现的层次分类:二层隧道协议和三层隧道协议

二层隧道协议:是将整个PPP帧封装在内部隧道中。

PPTP(point-to-point tunneling protocol):由微软、朗讯、3COM公司,支持点到点协议在IP网络上的隧封装,PPTP作为一种呼叫控制和管理协议,用一种增强GRE技术为传输的PPP报文流控和拥塞控制的封装服务。

L2F(layer 2 forwarding):由CISCO和北方电信等公司,支持对更高级协议链路层的隧道封装,实现拨号服务器和拨号协议连接在物理位置上的分离。

L2TP(layer 2 tunneling protocol):由IETF等,结合以上两个协议的优点,既可以实现拨号VPN,也可以实现专线VPN。

三层隧道协议:起点和终点均在ISP内,隧道内只携带第三层报文。

GRE(generic routing encapsulation):用于实现任意一种网络层协议在另一种网络层协议上的封装。

Ipsec:不是一个单一的协议,它给出IP网络上数据安全的一整套体系结构。包括AH、ESP和IKE。

三层与二层相比,优势在于安全性,可扩展性和可靠性。

2.VPN设计原则

安全性:

隧道与加密:隧道能实现多协议封装,增加VPN应用的灵活性,可以在无连接的IP网上提供点到点的逻辑通道。应用加密隧道进一步保护了数据的私有性,使数据在网上传送而不被非法的窥视和篡改。

数据验证:数据验证使接收方能够识另被篡改的数据,保证数据的完整性。

用户验证:VPN可以使合法用户访问他们需的企业资源,同时禁止未授权的用户非法访问。

防火墙与攻击检测:

可靠性:VPN可靠而稳定的运行是VPN管理必须考虑的问题。

可扩展性:VPN管理对需要对日益增多的用户作出迅捷反应,其中包括网络软、硬件的升级,网络质量的保证和路由策略的维护。

经济性:保证VPN管理扩展性的同时,不应过多的增加操作和维护成本。

3.L2TP协议

是为用户和企业的服务器之间透明传输PPP报文而设置的隧道协议。

特性:支持接入用户的内部动态地址分配、多协议传输、支持RADIUS服务器的验证、灵活的身份验证机制及高度的安全性、网络计费的灵活性、可靠性。

使用L2TP构建DVPN:

1、员工可以通过PSTN/ISDN连接到ISP端的LAC,再由LAC通过INTERNET向

LNS发起隧道连接请求,与总部连接。

2、员工可以配置DVPN软件与企业网关建立隧道连接。

L2TP存在两种消息:控制消息和数据消息

控制消息:用于隧道和会话连接的建立、维护和删除。

数据消息:用于封装PPP帧并在隧道上传输。

L2TP隧道和会话建立流程:

为了VPN用户和服务器之间传递数据报文,必须在LAC和LNS之间建立传递数据报文隧道和会话连接,隧道是保证具有相同会话连接特性的一组用户可以人享的连接属性所定义的通道;会话是针对每个用户和VPN服务器建立连接的PPP数据通道,同一个LAC和LNS只能建立一个L2TP隧道,多个会话可以复用在一个隧道连接上,隧道和会话是动态建立和删除的。

会话建立是由PPP触发的,隧道建立是由会话触发的,会话在建立是没有可用隧道,先建立隧道连接,会话建立完毕后,开始进行数据传输。

隧道建立:三次握手,LAC发起隧道建立请求SCCRQ,LNS收到请求后进行应答SCCRP,LAC收到应答后确认SCCCN。隧道建立。

会话建立:三次握手,LAC发起会话建立请求ICRQ,LNS收发请求后进行应答ICRP,LAC收到应答后确认ICCN。会话建立。

会话和隧道的折除流程:LAC和LNS任意一端发送一个拆除通知,另一端进行确认。

L2TP协议封装过程:

LAC端用户数据为私有IP,先经过PPP封装,然后传递给L2TP协议,再封装成UDP,之后再封装成可以在INTERNET上传输的IP报文。

LNS端按照上面的方法反方向拆除报文。

L2TP配置命令:

LAC:

配置AAA认证和本地用户

[quidway]l2tp enable 启动VPDN

[quidway]l2tp-group group-number 创建VPDN组

[quidway-l2tp1]start l2tp {ip ip-address[ip ip-address……]}{domain domain-name|dnis dialed-number|fullusername user-name}配置发起远程的L2TP请求及LNS地址(LAC侧提供了三种用户认证方式:根据用户全名(fullusername)验证、根据带特定域名的用户验证、根据被叫号码(dnis)验证),LNS最多可配置5个,根据配置的先后顺序查找。

LNS:

配置本地VPDN的用户

启动VPDN

创建VPDN组

[quidway]interface virtual-template virtual-template-number 创建虚模板

[quidway-virtual-template1]remote address pool [pool-name] 为用户分配置地址

[quidway-l2tp1]allow l2tp virtual-template virtual-template-number [remote remote-name]配置接收呼叫的隧道对端名称

L2TP可选参数配置:

[quidway-l2tp1]tunnel name name配置本端名称

[quidway-l2tp1]tunnel authentication 启动隧道验证,提供三种隧道验证方式

[quidway-l2tp1]tunnel password {simple|cipher} password配置密码

[quidway-l2tp1]tunnel timer hello hell0-interval配置隧道HELLO报文发送时间间隔。60S [quidway]l2tp domain{prefix separator|suffix separator}delimiters

[quidway] l2tp match-order {dnis|dnis domina|domina|domina dnis}

[quidway-l2tp1]mandatory-chap配置强制本端认证

[quidway-l2tp1]mandatory-lcp 配置强制LCP重新协商

[quidway-l2tp]tunnel flow-control receive-windows size配置隧道流控接收窗口的大小。

[quidway-l2tp1]l2tp session-limit session-number配置L2TP最大会话数

L2TP隧道呼叫建立流程:

1、PC机发起呼叫连接请求

2、PC机与LAC进行PPP LCP协商,确保之间的物理连接正常

3、LAC对PC提供的用户信息进行PAP或CHAP认证

4、LAC将认证信息发给RIDIUS服务器进行认证

5、RIDIUS服务器对用户进行认证,如果认证通过则返回用户对应的LNS的地址等相

关信息,并准备发起TUNNEL请求

6、LAC与LNS建立TUNNEL隧道,则LNS要通知LAC隧道验证通过

7、LAC将用户CHAP response、response identifier和PPP协商参数发送给LNS

8、LNS将接入请求发送给RIDIUS服务器进行认证

9、RIDIUS服务器通过认证,则返回响应信息

10、如果LNS端配置了强制本端CHAP认证,LNS要对用户进行认证,并发送

CHAP challenge。

11、用户回应CHAP response

12、LNS再次将信息发给RIDIUS进行认证,如果认证通过则返回响应信息。

L2TP排错:

Tunnel建立失败:在LAC端LNS的地址配置不正确。

LNS端没有设置可以接收该通道的VPDN组。

Tunnel验证不通过。

PPP协商不通过:LAC端配置的用户名和密码有误,或者LNS端没有设置相应的用户。

LNS没有不能分配地址

通道密码的验证没有通过。

数据传输失败,建立连接后数据不能传输:LAC配置的地址有误或者网络拥挤。

4.GRE

对某些网络层协议的数据报进行封装,使这些补封装的数据报能够在另一个网络层协议中传输。

GRE可以实现多协议的本地网通过单一协议的骨干网传输的服务,扩大了网络的工作

范围。

GRE是一种承载协议,提供了将一种协议的报文封装在另一种协议报文的机制,使报文能够在异种网络中传输。异种报文传输的通道称为TUNNEL。并在两端分别对数据报进行封装和解封。

系统接收到的一个需要封装和路由的数据报称为负载报文,这个有效报文先由GRE封装,接着被封装在IP协议中,然后完全由IP层负责此报文的转发。

GRE是一种第三层隧道的一种运载协议,协议号47。

GRE协议栈:链路层、IP、GRE、IP/IPX、PAYLOAD

通过GRE协议建立TUNNEL进行通信,并采用IPSEC在IP层进行加密和数据源验证,以保证数据包在INTERNET网上传输时的私有性、真实性和完整性,实现点到点的连接,保证数据的安全。

GRE配置任务及命令:

[quidway]interface tunnel tunnel-number 创建虚拟TUNNEL接口

[quidway-tunnel0]source ip-address 配置TUNNEL接口的源地址

[quidway-tunnel0]destination ip-address 配置TUNNEL接口的目的地址

[quidway-tunnel0]ip address {ip-address mask|unnumbered interface-type interface-number}配置TUNNEL接口的IP地址

[quidway-tunnel0]gre key key-number 配置TUNNEL接口的识别关键字

[quidway-tunnel0]gre sequence-datagrams配置TUNNEL进行数据报序列号同步

[quidway-tunnel0]gre checksum配置TUNNEL接口使用校验

[quidway]display interfaces tunnel tunnel-number 显示GRE信息

5.IPSEC

IPSEC(IP security)是IETF制定的为保证数据在INTENET上传输的安全保密性能的三层隧道加密的框架协议。

IPSEC包括报文验证头协议AH(协议号51)和报文安全封装协议DES(协议号50)AH可提供数据源验证和数据完整性校验功能和防报文重放功能。可选算法有MD5和SHA1等。AH没有对数据用户进行加密。

在传输模式下,AH协议验证IP报文的数据部分和IP头中不变部分。

在隧道模式下,AH协议验证全部的内部IP报文和外部IP头不变的部分。

DES除了可以提供数据源验证和数据完整性的校验功能外,还需要将保护的用户数据

进行加密后封装到IP包中,保证数据的完整性、真实性和私有性,可选算法有DES到、3DES 等。

在传输模式下,ESP协议对IP报文的有效数据进行加密。

在隧道模式下,ESP协议对整个内部IP报文进行加密。

以上两种协议采用32比特序列号结全防重放窗口和报文验证来防御重放攻击。

IPSEC有隧道(TUNNEL)和传输(TRANSPORT)两种工作方式。

在隧道方式下,用户的整个IP数据被用来计算AH或DES,且被加密,AH或DES头和加密用户数据被封装在一个新的IP数据包中。

在传输方式下,只是传输层数据被用来计算AH或DES,AH或DES头和被加密的传输层数据被放置在原IP包的后面。

IPSEC安全特点:

数据机密性:在发送数据前对数据进行加密

数据完整性:对接收的数据进行认证,以确保数据在传输过程中没有被篡改。

数据来源认证:接收方对IPSEC数据包源地址进行认证

反重放:接收端可检测并拒绝接收过时或重复的报文

IPSEC基本概念

数据流(data flow):为具有一组共同特征的数据的集合,由源地址/掩码、目的地址掩码、IP报文中封装上层协议的协议号、目的端口号、源端口号来规定的,通常数据流由访问控制列表来定义,IPSEC可以对不同的数据流施加不同的安全保护。

安全联盟(security association):IPSEC对数据流提供的安全服务由安全联盟来完成,它包括协议、算法、密钥等内容,具体确定了如何对IP报文进行处理。安全联盟由一个三元组:安全参数索引(SPI)、IP目的地址、安全协议号(AH或DES)来唯一标识。

安全参数索引(SPI):是一个32比特的数据,每一个IPSEC报文中都携带该值。

安全联盟生成时间(life time):有以时间进行限制更新和以流量进行限制更新两种。

安全策略(crypto map):由用户后工配置,规定对什么样的数据流采用什么样的安全措施,一个安全策略由“名字”和“顺序号”共同唯一确定。

安全提议(transform mode):包括安全协议、安全协议使用的算法、安全协议对报文的封装形式,规定的把普通报文转换成IPSEC报文的方式。在安全策略中,通过引用一条安全提议来规定该安全策略使用的协议和算法等。

IKE(internet key eschange)因特网密钥交换协议是IPSEC的信令协议。为IPSEC提供

BGP-community应用配置实例

BGP community属性 网友:怒咆的野狼发布于:2007.05.18 13:11(共有条评论) 查看评论| 我要评论 R1R2R3R4R5顺次互联 community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。 2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。 3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。 4 community值可以自己定义,另外有几个已经定义好的团体属性: NO_ADVERTISE:表示携带该值的路由不能公布给EBGP和IBGP邻居 NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居 LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。 试验步骤如下: 配置BGP,在本实验中要建立联邦我们顺便学习一下联邦 配置团体属性,让2.2.2.0网络只被R2学习到 配置团体属性,让22.22.22.0网络只被R2,R3学习到 配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到 配置团体属性,让R1不传递2.2.2.0 这条路由 二试验配置 配置BGP r1#sh run | b r b

router bgp 100 no synchronization network 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 network 222.222.222.0 neighbor 12.0.0.2 remote-as 234 no auto-summary r2#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 /指明联邦号是234 neighbor 12.0.0.1 remote-as 100 neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己 no auto-summary r3#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512 neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间no auto-summary

华为 BGP选择路由的策略

BGP选择路由的策略 当到达同一目的地存在多条路由时,BGP采取如下策略进行路由选择: 1.优选协议首选值(PrefVal)最高的路由。 协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。 2.优选本地优先级(Local_Pref)最高的路由。 如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。 通过执行default local-preference命令可以修改BGP路由的缺省本地优先级。 3.优选本地生成的路由(本地生成的路由优先级高于从邻居学来的路由)。 本地生成的路由包括通过network命令或import-route命令引入的路由、手动 聚合路由和自动聚合路由。 1.优选聚合路由(聚合路由优先级高于非聚合路由)。 2.通过aggregate命令生成的手动聚合路由的优先级高于通过summary automatic命令生成的自动聚合路由。 3.通过network命令引入的路由的优先级高于通过import-route命令引入 的路由。 4.优选AS路径(AS_Path)最短的路由。 o AS_Path的长度不包括AS_CONFED_SEQUENCE和AS_CONFED_SET。 o AS_SET的长度为1,无论AS_SET中包括多少AS号。

o执行bestroute as-path-ignore命令后,BGP选路时,忽略AS_Path的比较。 比较Origin属性,依次优选Origin类型为IGP、EGP、Incomplete的路由。 优选MED(Multi Exit Discriminator)值最低的路由。 o BGP只比较来自同一个AS(不包括联盟的子AS)的路由的MED值。即,只有两条路由的AS_SEQUENCE(不包括AS_CONFED_SEQUENCE)属性 的第一个AS号相同时,BGP才会比较二者的MED值。 o如果路由没有MED属性,BGP选路时将该路由的MED值按缺省值0来处理;执行bestroute med-none-as-maximum命令后,BGP选路时将该 路由的MED值按最大值4294967295来处理。 o执行compare-different-as-med命令后,BGP将强制比较来自不同自治系统中的邻居的路由的MED值。除非能够确认不同的自治系统采用了同样 的IGP和路由选择方式,否则不要使用compare-different-as-med命令 (可能产生环路)。 o执行bestroute med-confederation命令后,只有当AS_Path中不包含外部AS号(不属于联盟的子AS),且AS_CONFED_SEQUENCE的第一 个AS号相同时,才能比较MED值的大小。 o执行deterministic-med命令后,将消除路由接收顺序对选路结果的影响。优选从EBGP邻居学来的路由(EBGP路由优先级高于IBGP路由)。 依次优选EBGP路由、IBGP路由、LocalCross路由、RemoteCross路由。

BGP的团体属性

BGP的团体属性 2012年12月2日BGP的团体属性有别于其它任何一个属性,团体不限于一个网络或一个自治系统,它没有物理边界,可以穿越多个AS。从实质上讲,团体属性其实就是对BGP路由更新的一种标记方法,携带了团体属性的BGP路由在传递过程中,沿途的路由器可以根据团体属性来对该路由进行相应的操作(如修改LP、MED等),而不需要再执行路由过滤,从而简化了路由策略的配置,增强了灵活性。 例如,一个ISP_A与ISP_B和ISP_C相连,其分配的IP地址很分散,但它欲向ISP_B 通告本AS内的路由时设置MED值为200,而向ISP_C通告本AS内的路由时设置MED值为100,则在ISP_A内的所有BGP路由器上要求注入到BGP的本地路由分配团体属性“A:N”,这样,两个出口路由器RTB和RTC分别向EBGP邻居发送路由时,直接根据路由携带的团体属性值进行相应的过滤和控制即可,不再依赖于繁琐的ACL或是IP Prefix列表一条路由一条路由的指定,从而简化了操作。 团体属性的Type Code是8,32比特长,有3种方式定义:十进制方式,取值范围是1-4294967295;十六进制方式,以AA:NN的格式表示,前面是本地自治系统号码,后面两个八位组是本地定义值(开头部分0x00000000-0x0000FFFF和结尾部分0xFFFF0000-0xFFFFFFFF被保留);第三种方式是使用名字,使用公认的BGP团体名字。默认情况下,Cisco IOS 软件使用较旧的十进制格式。要以AA:NN 格式进行配置和显示,则发出ip bgp-community new-format 全局配置命令。AA:NN 格式的第一部分表示AS 编号,第二部分表示 2 字节编号。 因为团体属性为可选传递属性,所以需要在每台传递途径路由器上向邻居send-community,保持其属性的正常传递。 RFC1997还规定了4种公认的团体属性,设备收到带有这4个公认的团体属性的路由,自动按照RFC规定来执行的,不需要再配置路由策略: (1)Internet 默认的团体属性,默认所有路由都属性该团体。 (2)No_Export 值为0xFFFFFF01或4294967041,携带该团体属性值的路由不向AS外的EBGP邻居发送,但可以向联盟内的EBGP邻居发送,即该路由只被限制在AS内部传递,如果配置了联盟,则只在联盟内传递。 该路由可以被传递到整个AS或联盟内。(注:为解决大型AS内的IBGP互连,可以将一个AS划分为若干个子AS,被划分的AS称为联盟。各AS内部采用IBGP全互连;各AS间采用EBGP连接,称为联盟内的EBGP连接;与联盟外的AS的连接称为联盟外的EBGP 连接) 例如某个运营商网络以省为单位划分成若干个私有AS,携带该团体属性值的路由可以在整个运营商网络中传递。 (3)Local_AS 值为0xFFFFFF03或4294967043,又称No_ Advertise_Subconfed,携带该团体属性值的路由不向任何EBGP邻居发送,包括联盟内的EBGP邻居,即该路由只被限制在AS内部传递,如果配置了联盟,则只在联盟内的子AS内部传递。 例如某个运营商网络以省为单位划分成若干个私有AS,携带该团体属性值的路由只能在运营商网络中的某个子AS内传递。 (4)No_Advertise 值为0xFFFFFF02或4294967042,携带该团体属性值的路由不向任何BGP邻居发送,

BGP路径属性之AS_PATH的四种类型浅析

BGP路径属性之AS_PATH的四种类型浅析 AS_PATH属性,公认必遵,描述到达目标网络所要经过的AS号序列。最重要的作用是防环,如果BGP router发现自己的AS号位于接收自外部对等体的路由,则忽略该路由 仅当update消息被发送给其他的AS时,BGP 路由器才会将其AS号追加在AS_PATH中。这句话也隐含了另一个意思,那就是如果要修改AS_PATH属性,则必须在AS边界路由器上执行策略。 有四种类型的AS_PATH: AS_SET:一个去往特定目的地所经路径上的无序AS号列表 AS_SEQENCE:一个有序的AS号列表 AS_CONFED_SEQUENCE 一个去往特定目的地所经路径上的有序AS 号列表,其用法与AS_SEQUENCE完全一样,区别在于该列表中的AS号属于本地联邦中的AS AS_CONFED_SET 一个去往特定目的地所经路径上的无序AS号列表,去用方法与AS_SET完全一样,区别在于列表中的AS号属于本地联邦中的AS 以上四种类型是通过AS_PATH属性中的类型代码进行区分。关于这两个联邦特有的AS_PATH 类型,详细内容请见本文档“联邦”一小节,对于前两种AS_PATH怎么理解呢?

如上图由于做了汇聚,可能会丢失AS号信息,而作为AS号本身,如果用于防环的目的,其实并不一定要求AS号排列有序,因此AS3113向上游通告汇总路由时,以AS_SEQENCE为起始,同时AS_SET仍然保留明细路由的AS号(无序)。 如果AS_PATH中包含了AS_SET,那么就不需要在聚合路由中包含ATOMIC_AGGREGATE了,这是因为,AS_SET不但可以向下行路由器通告已经发生了路由聚合,而且包含了比ATOMIC_AGGREGATE更多的信息 AS_PATH:类型 AS_SEQENCE 以下为UPDATE消息中的AS_PATH字段内容(AS_PATH类型为AS_SEQUENCE的情况,也就是一般情况) 上图仅做基本的BGP配置,在R1上发布1.0及2.0,不做汇总,R4收到的AS_PATH如下:

第七部分 BGP协议的属性

BGP 协议复习大纲 第七部分BGP协议的属性 引:BGP属性是了解BGP协议的一大重点,也可以称之为BGP路径选择的属性,在第四部分中已经介绍了BGP的路径属性位于Update 报文中,本部分将详细介绍BGP的属性及其应用。BGP的属性是施加在每一条路由上的,表达了路由的特征,这些属性可以分为过渡和非过渡的,还有一些是必遵的和可选的,且便于扩展和开发。从而才有路径的选择。 一、BGP度量值使用属性来判断 1、公认属性 & 公认属性 ——所有BGP 路由器都必须识别的属性 ——该属性传递给BGP邻居 & 公认必遵属性 ——在所有的更新消息中必须出现 & 公认自由决定属性 ——可以在更新消息中不出现 2、可选属性 & 可选属性 ——非公认属性被称为可选属性 ——可选属性并不要求BGP实现都支持。它可能是私有的属性。 & 可选传递属性 ——非公认属性,可选属性可以是传递的和非传递的。 ——对于不支持的可选传递属性,路由器将原封不动地传递给其他BGP路由器。在这种情况下,属性被标记为partial(部分的)。 & 可选非传递属性 ——路由器将其删除,而不将它传递给其他路由器 3、强制属性 4、自由决定属性 5、传递属性 6、非传递属性 7、部分属性 二、BGP属性组合包含以下几部分 1、公认强制属性 & AS路径(as-path) & 下一跳(next-hop) & 源头(origin) 2、公认自由决定属性 & 本地优先级 & 原子聚合

3、可选传递属性 & 聚合站 & 共同体 4、可选非传递属性 & 多出口鉴别器(MED) 三、BGP的所有路由属性(最多有256种属性,截止目前共有16种属性被使用) & *必遵属性(重点) *1、Origin(起点属性) *2、AS-Path(经过哪些自治系统) *3、Next hop(自治系统的下一跳) 4、MED(控制优先的线路) 5、Local-Prefernce(本地优先属性) 6、Community(团体属性) & 聚合属性(BGP在聚合时使用) 7、Atomic-Aggregate 8、Aggregate & 反射属性(配置BGP反射器时使用) 9、Originator – ID 10、Cluster – List & 厂家新增的(设备制造商增加的) 11、Destination Pref (MCI) 12、Advertiser(Baynet) 13、Rcid – Path(Baynet) & 被用在NPRS的MBGP上的(非重点) 14、MP _ Reach _ NLRI 15、MP _ Unreach _ NLRI 16、Extended _ Communities 四、起点属性(Origin) 起点(源)属性告诉所有的自治系统该路径的好或坏。起点属性是公认的必遵的和可传递的。 标志着一条路由怎样成为BGP路由,可能有下面三种属性: 1、 IGP属性 路由是用“network”命令注入到BGP路由表中的,则Origin属性为IGP 2、 Incomplete属性 路由是用“redistribute”命令注入到BGP路由表中的,则Origin属性为Incomplete 由于IGP比Incomplete人为操纵的程度更高,因此再选路时拥有较高的优先级 3、 EGP属性 指在早期的EGP协议时使用,由于BGP取代了EGP,所以这种EGP属性很少见,在实际中应用的也很少,此章不做重点探讨。

BGP13条选路原则

IOS软件BGP最优路径算法: 1.优选有最大Weight的路由 (范围0 到 65,535) A:weight是CISCO私有的参数,路由器配置了权重后在本地有效。 3.优选有最大LOCAL_PREF值的路由(范围 0到 4,294,967,295). 4.优选从本路由器始发的路由(包括本地network配置的重分布,或者在IGP表中已经有一些需要被配置路由聚合的地址,在BGP中用Aggregate命令配置的路由聚合,) 5.优选有最短AS_PATH的路由 A.如果配置了Bgp bestpath as-path ignore,则这个步骤被忽略 B.一个AS路径集被当作一个AS,无论在这个集合中有多少AS。AS路径长度中没有包括。 AS_CONFED_SEQUENCE。 6.根据Origin属性.优选具有最低起源类型的路由(IGP>EBGP>Incomplete) 7.优选最小MED 值的路由(范围 0到4,294,967,295). A.只有在通过两条路径得到第一个AS(对等体)是同一个AS时才进行MED比较;任何子自治域的联盟系统都会被忽略。也就是说,只有在AS序列号中第一个AS号码一致时,才进行MED比较;任何联盟AS序列号(AS_CONFED_SEQUENCE)都会被忽略。 B.如果路由器上配置了 bgp always—compare—med ,在全部的路径进行MED比较。但是这需要全体 AS 都同时启用这个功能,否则有可能发生路由环路。 C.如果路由器上配置了 bgp bestpath med confed ,将对所有只包括 AS_CONFED_SEQUENCE的路径进行MED比较(即路径是起源于本地联盟)。 D.如果接收到的路径没有分配MED值,则将此路径分配为0,除非路由器上配置了bestpath missing — is—worst,将被看作MED值为4,294,967,295的路由将在注入到BGP路由选择表之前被改为4,294 ,967,294。 E.BGP明确的MED值9(详见本章后面的"BGP明确的MED"段落)也可以影响此步骤。 8.外部路由EBGP优先于联盟(confederation)外部路由优于内部路由IBGP(优选 E-BGP路由)注意,路径中包括AS_CONFEND_SEQUENCE属性对联盟只有在本地有效,因此被看作是内部路径。无法区别外部联盟和内部联盟。 9. 优选能通过最近的IGP邻居到达的路径(优选对BGP下一跳具有最低IGP度量值的路径); 10.如果在路由器上配置了maximum—pathsN,而且从同一个对等体自治域/子自治域接收到多条外部/外部联盟的路径,则最多可以将N条最近接收到的路径加入到IP路由选择表中。这可以使得eBGP在多条路径上进行负载分担。目前N所代表的最大数目是6;当没有启用此功能时,缺省数值是1。在输入了show ip bgp x.x.x.x后系统输出信息中可以看到最早接收到的路径被标记为最优路径,在将这条最优路径转发到内部对等体之前,需要执行与next_hop_self作用相同的功能。 11.如果是external的路由,优选最老的路由(最先被学习到的路由). A.此步骤可以将路由摆动的影响减到最小,因为新接收到的路径不会取代老的,即使这条新接收的路径是通过下面提及到的额外路径选择标准来进行选择的。这使得只在iBGP路径下应用额外的选择步骤更有意义。 B.此步骤可以被bgp bestpath compare_routerid命令语句所关闭。 C.如果路由器标志是一样的,此步骤可以被屏蔽,因为这说明路由器正在从自己那里接收路由。 D.如果当前没有最优路由器,此步骤可以被屏蔽。当提供某个路径的对等体路由器宏机,就会发生丢失当前最优路径的情况。 12.如果在同一时间学习到多条到同一目的地的路由,优选最小BGP-router-ID的路由,注意,如果一个路径包括路由反射器属性,起始者标识将代替路由器标识在路径选择过程中起作用。

BGP origin属性

一试验说明: 在本实验中要分别建立IBGP邻居和EBGP邻居。然后研究一下BGP路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当路由重分布进BGP时,即无法确定路由的始发者时,在BGP路由表中用“?”表示――――――――――――――――――――――――――――――――――――――― 配置IGP协议 要在AS 100中配置IGP协议,首先建立IGP的连通性,本实验选用EIGRP作为IGP协议,现在进行配置。 RTA RTA(config)#router eigrp 90 RTA(config-router)#no auto-summary RTA(config-router)#network 150.10.0.0 RTA(config-router)#passive-interface s1/0.23 RTC RTC(config)#router eigrp 90 RTC(config-router)#no auto-summary RTC(config-router)#network 150.10.0.0 RTC(config-router)#network 175.10.0.0 RTB RTB(config)#router eigrp 90 RTB(config-router)#no auto-summary

RTB(config-router)#net 175.10.0.0 RTB(config-router)#network 190.10.50.0 ―――――――――――――――――― RTA#sh ip route 170.10.0.0/24 is subnetted, 1 subnets C 170.10.20.0 is directly connected, Serial1/0.23 190.10.0.0/24 is subnetted, 1 subnets D 190.10.50.0 [90/2809856] via 150.10.30.2, 00:21:34, Serial1/0.21 D 175.10.0.0/16 [90/2681856] via 150.10.30.2, 00:23:10, Serial1/0.21 C 150.10.0.0/16 is directly connected, Serial1/0.21 EIGRP路由已经可以正常学习到。―――――――――――――――――――――――――――――――――――――――配置BGP RTA router bgp 100 no synchronization network 150.10.0.0 neighbor 170.10.20.2 remote-as 300 neighbor 175.10.40.2 remote-as 100 no auto-summary RTB router bgp 100 no synchronization network 190.10.50.0 mask 255.255.255.0 neighbor 150.10.30.1 remote-as 100 no auto-summary RTE router bgp 300 no synchronization network 170.10.0.0 mask 255.255.255.0 neighbor 170.10.20.1 remote-as 100 no auto-summary ――――――――――――――――――――――――――――――――――――― 配置静态路由 在RTA上配置一条静态路由,然后重分布到BGP中 RTA(config)#ip route 190.10.0.0 255.255.0.0 null 0 RTA(config)#router bgp 100 RTA(config-router)#redistribute static ――――――――――――――――――――――――――――――――――――――试验测试: 分别查看RTA和RTE的BGP路由表 RTA#sh ip bgp

最详细的BGP选路原则

最详细的BGP选路原则!!! PS:在show ip bgp *.*.*.*后面不合法的BGP路由: 1.如果启用了BGP同步—当前IOS软件的缺省配置,路由器会忽略那些在输入show ip bgp *.*.*.*命令语句后系统输出信息中被注明"not sychronized"的路径---在IP路由表中一定会有一条内部路径(IBGP )与一个地址前缀的匹配被看作是合法路径。 2.忽略那些下一跳不可达的路径。这就是为什么运行IGP协议非常重要,因为IGP使得与路径的相关下一跳地址可达。 3.忽略那些从EBGP Peer得到的,本地AS号码出现在AS-PATH中的路径信息。这类路径信息在路由器入口就被拒绝,甚至还来不及按照到BGP RIB库中。同样规则可以使用与ACLS,IP Prefixs,AS路径或者团体属性列表进行判断,并拒绝,除非对等体配置了inbound soft reconfiguration命令语句 4.如果Router启用了 Bgp bestpath enforce-first-as ,当对等体送来的更新信息中在AS序列项对等体的AS号码不在第一位,则发送一个NOTIFICATION 报文并中止回话连接。 5.忽略那些在输入show ip bgp *.*.*.*命令语句后系统输出信息中被注明"(received-only)"的路径。这条路径被路由器上实施的策略所拒绝,但仍就被保存在路由器内,因为发送这条路径信息的对等体配置了"soft reconfiguration inbound"。 6.忽略那些下一跳度量值被标记为不可达的路径。 IOS软件BGP最优路径算法: 1.优选有最大Weight的路由 (范围0 到 65,535) A:weight是CISCO私有的参数,路由器配置了权重后在本地有效。 3.优选有最大LOCAL_PREF值的路由(范围 0到 4,294,967,295). 4.优选从本路由器始发的路由(包括本地network配置的重分布,或者在IGP 表中已经有一些需要被配置路由聚合的地址,在BGP中用Aggregate命令配置的路由聚合,) 5.优选有最短AS_PATH的路由 A.如果配置了Bgp bestpath as-path ignore,则这个步骤被忽略 B.一个AS路径集被当作一个AS,无论在这个集合中有多少AS。AS路径长度中没有包括。 AS_CONFED_SEQUENCE。 6.根据Origin属性.优选具有最低起源类型的路由(IGP>EG>Incomplete) 7.优选最小MED 值的路由(范围 0到4,294,967,295). A.只有在通过两条路径得到第一个AS(对等体)是同一个AS时才进行MED比较;任何子自治域的联盟系统都会被忽略。也就是说,只有在AS序列号中第一个AS号码一致时,才进行MED比较;任何联盟AS序列号 (AS_CONFED_SEQUENCE)都会被忽略。 B.如果路由器上配置了 bgp always—compare—med ,在全部的路径进行MED 比较。但是这需要全体 AS 都同时启用这个功能,否则有可能发生路由环路。

BGP练习题分解

1.以下哪些协议是EGP 协议() A. RIP B. BGP C. IS-IS D. OSPF Answer: B 2.下面关于BGP 的叙述哪个是正确的() A. BGP 采用TCP 方式发送路由协议信息 B. BGP 每30 秒就会刷新一次路由信息 C. BGP 的AS-path 属性不可控制 D. BGP 对路由的控制可使用MED 属性和Local preference 属性来实现Answer: AD 3.下面哪种组网比较适合BGP 路由协议() A. 对路由信息需要进行大量的控制 B. 路由条目数量较多,万条以上 C. 需要使用MPLS VPN D. 网络规模较小,路由数目较小,比较稳定。 Answer: ABC 4.. IBGP 与EBGP 路由说法正确的是() A. EBGP 只能使用直接接口建立邻居关系 B. IBGP 只能使用loopback 接口建立邻居关系 C. IBGP 必须保证用来建立邻居关系的IP 地址可达 D. 从EBGP 邻居收到的路由在向IBGP 邻居转发时可以改变下一跳Answer: CD 5. 关于BGP 路由的发布方式说法正确的是() A. 可采用network 命令发布 B. 可采用引入其它路由协议的方式发布 C. BGP 只能发布本设备路由表中存在的路由 D. BGP 不能发布直连路由 Answer: ABC 6. 关于BGP 路由属性说法正确的是() A. 在AS 之间也可以使用local preference 属性 B. AS-Path 属性可以避免路由环路的产生 C. BGP 的路由聚合可能会改变原有的AS-Path 属性 D. 下一跳属性路由不可达不影响BGP 路由的发布 Answer: BC 11. 部署一个大型网络,选择路由协议,需要考虑的有() A. 路由协议对网络的可扩展性的支持 B. 路由协议的成熟度,各厂商的支持程度 C. 协议报文的开销 D. 收敛速度和是否会产生路由环路 Answer: ABCD 12. 以下选项中哪些可以用于BGP 的路由策略() A. ACL

BGP选路规则

BGP选路规则 1 WEIGHT值最高的路径优先。WEIGHT是CISCO专有的参数,且只对配置该参数的本地路由器有效,不能传递。缺省条件下,本地始发的路径具有相同的WEIGHT 值(32768),所有其它的路径的WEIGHT值为0。 2 LOCAL-PREF值(本地优先级)。CISCO IOS中,LOCAL-PREF缺省值为100。该属性只能在本AS内传递。 3 基于始发地(origination)评估路由,路由器本地始发的路径优先。依次降低的优先级顺序是:default-originate(针对每个邻居配置), default-information-originate(针对每种地址簇配置),network , redistribute , aggregate-address 。 4 评估AS-PATH的长度,AS-PATH列表最短的路径优先。但可以通过配置 bgp bestpath as-path ignore (隐藏命令)来忽略这一步。 5 评估路由的origin属性,origin属性值最低的路由优先。IGP:origin值=0;EGP:origin值=1;INCOMPLETE:origin值=3 6 评估MED。MED值最小的路径胜出。该属性可以传递出AS。缺省条件下,只有在两条路径的第一个AS相同的情况下才会进行比较。如果配置了:bgp always-compare-med,那么对于所有路径都将比较MED,而不考虑它们是否来自于同一个AS。 7 EBGP路径优先于IBGP路径。 8 BGP优先选择到BGP下一跳的IGP度量最低的路径。 9 如果配置了maximum-paths[ibgp]n, n在2-6之间,并且存在多条等价成本的路径,那么BGP会在IP路由选择表中插入最多n条接收到的路径。这就激活了BGP多路径负载分担特性。如果没有使用可选关键字ibgp,则多路径特性就仅仅应用于ebgp路径。当不激活这一选项时,它的缺省值为1。 10 当两条路径都是外部路径时,BGP将优先选择最先收到的路径(最老的路径)。 11 BGP优先选择来自于最低的路由器ID的BGP路由器的路由。 12 如果多条路径的始发路由器ID或路由器ID相同,那么BGP将优选CLUSTER-LIST长度最短的路径。 13 BGP优选来自于最低的邻居地址的路径。

BGP community属性

BGP community属性无敌详解文档(视频详解+配套文档) community属性是BGP众多路径属性中一个相对比较难理解的知识点,需要通过大量实验加深印象,为了帮助大家更清晰的了解这个路径属性,我特定编写了这份文档,希望对大家有所帮助。 本文档配套详解视频: 1、community的基本概念 可选传递,用于简化路由策略的执行。可以将某些路由分配一个特定的COMMUNITY 属性,之后就可以基于COMMUNITY值而不是每条路由进行BGP属性的设置了。COMMUNITY属性对邻居起作用,在设置后,同时需要向邻居发送(send community,默认是不会发送的)。 COMMUNITY属性是一组4个8位组的数值,RFC1997规定前2B表示AS号,后2B 表示基于管理目的设置的标示符,格式为AA:NN,而CISCO默认显示格式为NN:AA (CISCO IOS在显示community值时,默认是按10进制格式显示),可使用全局配置命令ip bgpcommunity new-format将CISCO默认格式改为RFC格式。 例如将AS12的某条路由COMM值改为10000,RFC采用十六进制表示COMMUNITY属性,而CISCO采用十进制。RFC格式为12:10000,十六进制为0x 000C2710,再转换为十进制796432(这就是CISCO IOS默认显示的值)。

抓个包看一下: 2、在route-map中设置community属性 route-map test permit 10 set community ? <1-4294967295> community number aa:nn community number in aa:nn format additive Add to the existing community 设置commu值为附加,否则为覆盖 internet Internet (well-known community) 默认所有路由都属于该团体 local-AS Do not send outside local AS (well-known community) no-advertise Do not advertise to any peer (well-known community) no-export Do not export to next AS (well-known community) none No community attribute 下边我们来看一下community的这几个众所周知值的本文为原创博文, no-advertise

BGP协议的路由选择原则

BGP协议的路由选择原则 BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议,目前在互联网中使用非常广泛,BGP协议有非常丰富的属性,路由选择的过程也相对复杂。在使用CISCO 设备的网络中BGP路由协议按以下的规则进行路由选择。 1、WEIGHT值最高的路径优先。WEIGHT是CISCO专有的参数,且只对配置该参数的本地路由器有效,不能传递。缺省条件下,本地始发的路径具有相同的WEIGHT值(32768),所有其它的路径的WEIGHT值为0。 2、LOCAL-PREF值(本地优先级)。CISCO IOS中,LOCAL-PREF缺省值为100。该属性只能在本AS内传递。 3、基于始发地(origination)评估路由,路由器本地始发的路径优先。依次降低的优先级顺序是:default-originate(针对每个邻居配置), default-information-originate(针对每种地址簇配置),network , redistribute , aggregate-address 。 4、评估AS-PATH的长度,AS-PATH列表最短的路径优先。但可以通过配置 bgp bestpath as-path ignore (隐藏命令)来忽略这一步。 5、评估路由的origin属性,origin属性值最低的路由优先。IGP:origin值=0;EGP:origin值=1;INCOMPLETE:origin值=3 6、评估MED。MED值最小的路径胜出。该属性可以传递出AS。缺省条件下,只有在两条路径的第一个AS相同的情况下才会进行比较。如果配置了:bgp always-compare-med,那么对于所有路径都将比较MED,而不考虑它们是否来自于同一个AS。 7、EBGP路径优先于IBGP路径。 8、BGP优先选择到BGP下一跳的IGP度量最低的路径。 9、如果配置了maximum-paths[ibgp]n, n在2-6之间,并且存在多条等价成本的路径,那么BGP会在IP路由选择表中插入最多n条接收到的路径。这就激活了BGP多路径负载分担特性。如果没有使用可选关键字ibgp,则多路径特性就仅仅应用于ebgp路径。当不激活这一选项时,它的缺省值为1。 10、当两条路径都是外部路径时,BGP将优先选择最先收到的路径(最老的路径)。 11、BGP优先选择来自于最低的路由器ID的BGP路由器的路由。 12、如果多条路径的始发路由器ID或路由器ID相同,那么BGP将优选CLUSTER-LIST 长度最短的路径。 13、BGP优选来自于最低的邻居地址的路径。

BGP团体属性和策略

实验:BGP中路由策略的一些应用 要求: 192.168.20.1/24 COST 101 团体属性值200:100 21.1/24 过滤 22.1/24 COST100 R3的收到的20.1 附加一个AS号1000和团体属性100:100 AS100过滤AS200的流量不传给AS300 (r3没有2.2.2.2) 发送BGP更新报文时,可以携带私有自治系统号不携带私有自治系统号(peer 192.168.1.2 public-as-only ) 配置如下: AR1 # sysname r1 # interface Ethernet0/0/0 ip address 192.168.1.1 255.255.255.252 # interface Ethernet0/0/1 ip address 192.168.1.5 255.255.255.252 # interface LoopBack20 ip address 192.168.20.1 255.255.255.0 # interface LoopBack21 ip address 192.168.21.1 255.255.255.0 # interface LoopBack22 ip address 192.168.22.1 255.255.255.0

# bgp 100 peer 192.168.1.2 as-number 200 peer 192.168.1.6 as-number 300 # ipv4-family unicast undo synchronization import-route direct peer 192.168.1.2 enable peer 192.168.1.6 enable peer 192.168.1.6 route-policy a export peer 192.168.1.2 route-policy a export peer 192.168.1.6 advertise-community peer 192.168.1.2 advertise-community # route-policy a permit node 10 if-match ip-prefix a apply cost 101 apply community 200:100 # route-policy a deny node 20 if-match ip-prefix b # route-policy a permit node 30 if-match ip-prefix c apply cost 100 # route-policy a permit node 200 # ip ip-prefix a index 10 permit 192.168.20.0 24 greater-equal 24 less-equal 32 ip ip-prefix b index 10 permit 192.168.21.0 24 greater-equal 24 less-equal 32 ip ip-prefix c index 10 permit 192.168.22.0 24 greater-equal 24 less-equal 32 # return AR2 # sysname r2 # interface Ethernet0/0/0 ip address 192.168.1.2 255.255.255.252 # interface Serial0/0/3

BGP选路解析

BGP选路解析 1 BGP选路概述 1.1 解析BGP选路的意义 每个路由协议都有自己计算路由的方法,计算路由的方法称为路由算法,BGP选路方法就是BGP的路由算法,BGP运行路由算法的目的是计算出有效路由进而优选出最优路由,选路算法是BGP路由协议的核心算法之一。 1.2 BGP选路与常见IGP选路的区别 众所周知,链路状态算法的路由协议,其路由非通告所得,而是计算所得,所以在链路状态算法如OSPF,在其作用域内无法人为地干涉路由优选,即算法不可改变,在路由器的实现中在代码中固定,人为干涉的结果会导致路由无法计算或计算出错,在链路状态算法的作用域之间,有相对比较简单的计算规则,一般也没有必要人为地去干涉选路(如OSPF协议的区域间路由)。 以上原因导致OSPF的路由计算对网络管理员来说比较傻瓜化,大部分的选路工作由机器完成,管理员参与的部分极少。 基于距离矢量的IGP,如RIP由于路由协议中携带的信息量极少,可供选路决策的条件很少,所以讨论其协议内部的路由优选意义不大。 BGP选路是一个比较复杂的过程,需要深入讨论,原因是BGP的设计者将需要大部分由代码固化完成的工作分了一部分出来“允许”管理员参与完成,在协议中也包含了丰富的优选参数,可供选路时自动或人为地进行控制与决策。这也说明,关于BGP的主要工作内容由两部分: ? 在AS之间及AS内部传递路由――自动完成 ? 控制、管理、优化路由――自动或由管理员手动完成 通过选路,我们可以看出设计者设计如此多属性的原因,与通用的IGP协议采用单一Metric计算路由相比,BGP的众多属性更细致地反映一条路由的“历史背景”,在选路过程中可以自动或手动地利用这些丰富的材料进行综合考虑,进而更为细腻地优选和控制路由。 2 BGP选路过程解析 2.1 选路规则 BGP IPv4选路规则如下: 下一跳(Next_Hop)不可达的路由及其他无效路由不参与优选; 优选协议优先级值低的路由; 标签路由(有LSP隧道)优于非标签路由; 若配置了Preferred-value值,优选值高的; 优选本地优先级(Local_Pref)最高的路由; 优选本路由器始发的路由;

BGP基础之origin属性

BGP基础之origin属性 [ 2007/1/24 2:45:18 | By: wangyang ] 一试验说明: 在本实验中我们要分别建立IBGP邻居和EBGP邻居。然后研究一下BGP路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当路由重分布进BGP时,即无法确定路由的始发者时,在BGP 路由表中用“?”表示――――――――――――――――――――――――――――――――――――――― 二基本配置: 1 配置底层联通 由于我的底层拓扑是帧中继,所以先要把帧中继配通。下面是配置 RTA interface Serial1/0 no ip address encapsulation frame-relay no frame-relay inverse-arp frame-relay lmi-type ansi interface Serial1/0.21 point-to-point ip address 150.10.30.1 255.255.0.0 frame-relay interface-dlci 201 interface Serial1/0.23 point-to-point

ip address 170.10.20.1 255.255.0.0 frame-relay interface-dlci 203 ――――――――――――――― RTB interface Loopback1 ip address 190.10.50.1 255.255.255.0 interface Serial1/0 ip address 175.10.40.2 255.255.0.0 encapsulation frame-relay frame-relay map ip 175.10.40.1 401 broadcast no frame-relay inverse-arp frame-relay lmi-type ansi ―――――――――――――――――――― RTE interface Loopback1 ip address 170.10.0.1 255.255.255.0 interface Serial1/0 ip address 170.10.20.2 255.255.255.0 encapsulation frame-relay frame-relay map ip 170.10.20.1 302 broadcast no frame-relay inverse-arp frame-relay lmi-type ansi 经测试底层已经联通。――――――――――――――――――――――――――――――――――― 2 配置IGP协议 要在AS 100中配置IGP协议,首先建立IGP的连通性,本实验我们选用EIG RP作为IGP协议,现在进行配置。 RTA RTA(config)#router eigrp 90 RTA(config-router)#no auto-summary RTA(config-router)#network 150.10.0.0 RTA(config-router)#passive-interface s1/0.23 RTC RTC(config)#router eigrp 90 RTC(config-router)#no auto-summary RTC(config-router)#network 150.10.0.0 RTC(config-router)#network 175.10.0.0 RTB RTB(config)#router eigrp 90 RTB(config-router)#no auto-summary RTB(config-router)#net 175.10.0.0 RTB(config-router)#network 190.10.50.0――――――――――――――――――

相关文档