OSPF技术基础知识详解文档格式.docx
《OSPF技术基础知识详解文档格式.docx》由会员分享,可在线阅读,更多相关《OSPF技术基础知识详解文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
链路层协议是EthernetsKDDIsTokenRing时,默认网络类型为广播网,以组播的方式发送协议报文。
・3非广播多路访问网络
3.NBMA
链路层协议是帧中继.ATMsHDLC或X・25,默认网络类型为NBMA.手工指定邻居。
图锚误!
文档中没有描定样式的文字。
-4点到多点网络
4・Point-to-niultipoint
没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。
点到多点必然是由其他网络类型强制更改的,常见的做法是将非全连通的NBMA改为点到多点的网络。
多播hello包自动发现邻居,无需手工指定邻居。
NBMA与P2MP之间的区别:
在OSPF协议中NBMA是指那些全连通的、非广播、多点可达网络。
而点到多点的网络,则并不需要一定是全连通的。
MBMA是一种缺省的网络类型。
点到多点不是缺省的网络类型,点到多点必须是由其它的网络类型强制更改的。
nbma用单播发送协议报文,需要手工配置邻居。
点到多点是可选的,即可以用单播发送.又可以用多播发送报文。
在NBMA±
需要选举DR与BDR,而在P2MP网络中没有DR与BDR.另外,广播网中也需要选举DR和BDR。
1.2.1OSPF的报文类型
OSPF的报文类型一共有五种
•HELLO报文(HelloPack&
):
最常用的一种报文,周期性的发送给本路由器的邻居。
内容包括一些定时器的数值,DR,BDR,以及自己已知的邻居。
HELLO报文中包含有RouterID、Hello/deadintervals>
Neighbors^Area-ID^Routerpriority^DRIPaddress^BDRIPaddress^Authenticationpassword^Stubareaflag等信息.其中Hello/deadintervals^Area-ID>
AuthenticationpasswordsStubareaflag必须一致,相邻路由器才能建立邻居关系・
^KouterII)
Hdlo/deadintci^vah*
Ne^hbors
Area-ID
RouterpriorityDRIPaddress
BDRIPaddress
AuthenticationpasswordStubareaflag*
*带星号的项目必须要一致
•DBD报文(DatabaseDescriptionPacket):
两台路由器进行数据库同步时,用DBD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的摘要(摘要是指LSA的HEAD,通过该HEAD可以唯一标识一条LSA)。
这样做是为了减少路由器之间传递信息的此因为LSA的HEAD只占一条LSA的蔡个数据量的一小部分,根据HEAD,对端路由器就可以判断出是否己经有了这条LSA。
•LSR报文(LinkStateRequestPacket):
两台略由器互相交换过DBD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的或是对端更新的LSA,这时需要发送LSR报文向对方请求所需的LSAo内容包括所需要的LSA的摘要。
•LSU报文(LinkStateUpdatePacket):
用来向对端路由器发送所诺要的LSA,内容是多条LSA(全部内容)的集合。
•LSAck报文(LinkStateAcknowledgmentPacket)用来对接收到的DBDXSU报文进行确认。
内容是需要确认的LSA的HEAD(—个报文可对多个LSA进行确认)。
1.3OSPF的邻居状态机
•Down:
邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有收到对方的Hello报文。
•Attempt:
只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送HELLO
报文.
•Init:
本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的
RouterID(对方并没有收到我发的HELLO报文)
•2-Way:
本状态表示双方互相收到了对端发送的HELLO报文,建立了邻居关系。
在广播和NBMA
类型的网络中,两个接口状态是DROther的路由器之间将停留在此状态.其他情况状态机将继续转入高级状态。
•ExStart:
在此状态下,路由器和它的邻居之间通过互相交换DBD报文(该报文并不包含实际的
内容,只包含一些标志位)来决定发送时的主/从关系。
建立主/从关系主要是为了保证在后续的DBD报文交换中能够有序的发送.
Exchange:
路由器将本地的LSDB用DBD报文来描述,并发给邻居.
fading:
略由器发送LSR报文向邻居请求对方的DBD报文.
Full:
在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了.即,本路由器和邻居建立了邻接(adjacency)状态。
注:
红色的状态是指稳定的状态(down、two-way.full),其他状态则是在转换过程中瞬间(一般不会超过几分钟)存在的状态。
本路由器和状态可能与对端路由器的状态不相同•例如本路由器的邻居状态是Full,对端的邻居状态可能是Loading.
OSPF是基于链路状态算法的路由协议,所有对路由信息的描述都是封装在LSA中发送出去。
LSA根据不同的用途分为不同的种类,目帕使用最多的是以下五种LSA,
•RouterLSA(Type=l):
是最基本的LSA类型,所有运行OSPF的路由器都会生成这种LSA•
主要描述本路由器运行OSPF的接口的连接状况,花费等信息。
对于ABR,它会为每个区域生成一条RouterLSA.这种类型的LSA传递的范围是它所属的整个区域.
•NetwrokLSA(Type=2):
本类型的LSA由DR生成。
对于广播和NBMA类型的网络,为了
减少该网段中路由器之间交换报文的次数而提出了DR的概念。
一个网段中有了DR之后不仅发送报文的方式有所改变,链路状态的描述也发生了变化•在DROther和BDR的RouterLSA中只描述到DR的连接,而DR则通过NetworkLSA来描述本网段中所有已经同其建立了邻接关系的路由器。
(分别列出它们RouterID)。
同样,这种类型的LSA传递的范围是它所属的整个区域。
•NetworkSummaryLSA(Type=3):
本类型的LSA由ABR生成.当ABR完成它所属一个区
域中的区域内路由计算之后,査询路由表,将本区域内的每一条OSPF路由封装成NetworkSuinmaryLSA发送到区域外。
LSA中描述了某条路由的目的地址、掩码、花费值等信息。
这种类型的LSA传递的范围是ABR中除了该LSA生成区域之外的其他区域。
•ASBRSummanLSA(Type=4):
本类型的LSA同样是由ABR生成。
内容主要是描述到达本
区域内部的ASBR的路由•这种LSA与Type3类型的LSA内容基本一样,只是Type4的LSA描述的目的地址是ASBR,是主机路由,所以掩码为0.0.0.0.这种类型的LSA传递的范围与Type3的LSA相同。
•ASExternalLSA(Type=5):
本类型的LSA由ASBR生成。
主要描述了到自治系统外部路由
的信息,ISA中包含某条路由的目的地址、掩码、花费值等信息。
本类型的LSA是唯一一种与区域无关的LSA类型,它并不与某一个特定的区域相关.这种类型的LSA传递的范围整个自治系统(STUB区域除外)。
•ASExternalLSA(Type=7):
类型7的LSA被应用在非完全末节区域中(NSSA)。
1.4区域种类
区域的特性决定着它可以接收的路由信息的类型.可能的区域类型包括以下几个:
•标准区域:
这个默认的区域接收链路状态更新、路由汇总和外部路由信息。
•骨干区域(转发区域):
骨干区域是连接所冇其他区域的中心点.骨干区域的区域号总是
“0”。
所有其他区域都连接到这个区域以交换路由信息。
OSPF骨干区域拥有所有标准区域的特性.
•末节区域:
这种区域不接受任何自治系统外部路由的信息,比如非OSPF网络的信息.如果路由器需要连接AS外的网络,它们应用缺省的0.0.0.0路由。
末节区域不能包含ASBR。
•完全末节区域:
这种区域不接受任何AS外部的路由,也不接收AS内部的其他区域的汇总倍息。
如果路由器需要发送数据到外部网络或是其他区域,它使用缺省的路由发送数据包。
完全末节区域不能包含ASBR・
•非完全末节区域(NSSA):
NSSA是对OSPFRFC的补充•这种区域定义了类型7的ISA。
NSSA提供类域末节区域利完全末节区域同样的好处.但是,在NSSA中允许存在ASBR,这的点与末节区域不同。
为了解决ASE路由(自治系统外部路由)单向传递的问題,NSSA中重新定义了一种LSA--Type7类型的LSA,作为区域内的路由器引入外部路由时使用,该类型的LSA除了类型标识与Type5不相同之外,其它内容基本一样.这样区域内的路由器就可以通过LSA的类型来判断是否该路由來自本区域内。
协议规定:
在NSSA的ABR上将NSSA内部产生的Type7类型的LSA转化为Type5类型的LSA再发布出去,并同时更改ISA的发布者为ABR自己。
STP的基本原理
基本思想:
在网桥之间传递特殊的消息(配置消息,也称作BPDU消息),包含足够的信息做以下工作:
从网络中的所有网桥中,选出一个作为根网桥(Root)
计算本网桥到根网桥的最短路径
对每个LAN,选出离根桥最近的那个网桥作为指定网桥,负贵所在LAN上的数据转发
网桥选择一个根端口,该端口给出的路径是此网桥到根桥的最佳路径选择
确定除根端口之外的包含于生成树上的端口(指定端口)
BPDU的作用
■选举根桥
■检测发生环路的位賈
■阻止环路的发生
■通告网络状态的改变
■监控生成树的状态
STP的端口状态
■阻塞
■倾听
■学习
■转发
■关闭(ofD
RSTP(RapidSpanningTreeProtocol)称为快速生成树协议,它在保持STP所有优点的基础上,比STP提供了更快的收敛速度,即在网络拓扑发生变化时,原来冗余的交换机端口在点对点的连接条件下端口状态可以迅速迁移(Discard-Forward)0
■改进一
在新拓扑结构中的根端口可以立刻进入转发状态,如果旧的根端口已经进入阻塞状态,而且新根端口连接的对端交换机的指定端口处于Forwarding状态.
■改进二
指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态.
■改进三
网络边缘的端口,即直接与终端相连,而不是和其他网桥相连的端口可以直接进入转发状态,不需要任何延时.
IGP(Interiorgatewayprotocols)内部网关协议,定义为在一个自治系统内部使用的路由协议(包括动态路由协议和静态路由)。
IGP的功能是完成数据包在AS内部的路由选择。
RIPvl&
v2,OSPF,ISIS都是典型的IGP。
EGP(Exteriorgatewayprotocols)卜部网关协议,定义为在多个自治系统之间使用的路由协议。
它
主要完成数据包在AS间的路由选择。
BGP4就是一种EGP。
IGP只作用于本地AS内部,而对其他AS—无所知・它负责将数据包发到主机所在的网段(segment).EGP作用于各AS之间,它只了解AS的蔡体结构,而不了解各个AS内部的拓扑结构。
它只负责将数据包发到相应的AS中,其他工作便交给IGP来做。
每个自治系统AS都有唯一的标识,称为AS号(ASnumber),由IANA(InternetAssignedNumbersAuthority)来授权分配。
这是一个16位的二进制数,范围为1-65535,其中65412-65535为AS专用组(RFC2270),不在Internet±
传播。
类似于IP地址中的私有地址。
BGP・4是典型的外部网关协议,是现行的因特网实施标准•它完成了在自治系统AS间的路由选释•可以说,BGP协议是当代蔡个Inetnet的支架•
BGP经历了4个版本:
RFCllOS(BGP.l),RFC1163(BGP-2),RFC1267(BGP-3),RFC177KBGP-4),并且还涉及其他很多的RFC文档.在RFC1771新版本中,BGP开始支持CIDR(Classlessinterdomainsrouting〉和AS路径聚合,这种新展性的加入,可以减缓BGP表中条目的增长速度•
支持IPV6的BGP版本是BGP4+,标准是RFC2545.
■BGP是一种增强型距离矢M(DistanceVector)路由协议
■传输协议:
TCP,端口号:
179
■支持CIDR(无类别域间选路)
■路由更新只发送增最路由
■只有丰富的路由过滤和路由策略配置
建立了BGP会话连接的路由器被称作对等体(p理rsorneighbors),对等体的连接有两种模式:
IBGP(InternalBGP)和EBGP(ExternalBGP).IBGP是指单个AS内部的路由器之间的BGP连接,而EBGP则是指AS之间的BGP连接.
BGP使用四种类型的消息:
■OPEN-用于建立BGP连接
■KEEPALIVE-用于保持BGP连接
■UPDATE-发送BGP路由更新或撤消
■NOTIFICATION-BGP差错提示信息
OPEN消息用于BGP连接的建立,它包含以下内容:
■版本号:
在对等体之间协商都双方支持的最高版本号
■AS号:
本BGP路由器的AS号码,占2字节
■保持时间^双方协商后取两者的较小值
■BGP标识:
表示发送者的ID,—般是Loopback地址
■可选参数:
如密码认证等
KEEPALIVE消息用于保持BGP连接,其长度是19个字节:
■发送周期:
缺省为30秒(对等体之间发送)
■保持时间(Holdtime"
—般为90秒
■每次从邻居处接收到Keepalive报文将甫置holdtime定时器;
如果holdtime定时器超时,就认为对等体down掉.
■在建立BGP连接时,双方协商保持时间的时候将会取最低值
UPDATEMessage一更新消息
■相同属性的路由才能在一个Update消息中更新出去
■Update也用于撤消那些“不可达路由^(UnreachableRoutes)
■如果路由稳定,将不会发送“更新消息”(Update)
■更新可以只是针对路由条目的属性更新
■更新包具有Keepalive报文的功效,使Holdtime定时器复位
NOTIFICATIONMessage-^错通告消息
■当检测到有错课发生时,将会发送••通告消息-(Notification
message)
"
通告消息(Notificationmessage)将会关闭BGP会话
可能出现的错谋信息包括,验证失败,路由回路,等等
BGP路由通告原则
■多条路径时,BGPSpeaker只选最优的给自己使用;
■BGPSpeaker只把自己使用的路由通告给相邻体;
■BGPSpeaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP);
■BGPSpeaker从IBGP获得的路由不向它的IBGP相邻体通告;
■BGPSpeaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定;
■连接一建立,BGPSpeaker将把自己所有BGP路由通告给对竽体.
BGP同步
■因为IBGP之间可能非宜接连接,这样非BGP路由器参与对BGP路由条目的数据包转发,需要IGP路由器也有相关BGP路由.
■从IBGP邻居学习到的路由,必须在IGP中存在才能通告给EBGP邻居,这就是BGP与IGP的同步•该功能缺省生效,一般需手动关闭
BGP路由通告方式一NeWork命令
BGP是用来通告路由的,每台运行BGP协议的路由器都把本地网络通告到Internet±
这样几十万台路由器通告的路由数量达到20多万条•这就是目前我们能够自如地访问Internet上各种服务的原因.
当然,除了应用于Internet路由通告之外,BGP协议在一些内部专用网络上也发挥作用,其通告的路由往往是私有地址的路由,如城域网中的VPN用户路由、中国电信的固网3G中的路由等等。
BGP要通告的路由必须首先存在于IGF路由表中,将IGP路由信息注入BGP,是BGP路由更新的来源.它直接影响到因特网的路由稳定性•信息注入有两种方式:
动态和静态.
动态注入又分为完全注入和选择性注入.完全动态注入是指将所有的IGP路由再分布(Redistribution)到BGP中・这种方式的优点是配置简单,但是可控性弱,效率低•选择性的动态注入则是将IGP路由表中的一部分路由信息注入BGP(如使用network命令)。
这种方式会先验证地址及掩码,大大增强了可控性,提高了效率,可以防止错误的路由信息注入。
但是无论哪种动态注入方式,都会逍成路由的不稳定。
因为动态注入完全依赖于IGP信息,当IGP路由发生路由波动时,不可避免的会影响到BGP的路由更新。
这种路由的不稳定会发出大量的更新信息,浪费大量的带宽。
对于这种缺陷,可以使用在边界处使用路由衰减和聚合技术来改善。
静态注入就可以有效解决路由不稳定的问题。
它是将静态路由的条目注入到BGP中去.由于静态路由条目是人为的加入的,不会受到IGP波动的影响,所以很稳定•它的稳定性防止了路由波动引起的反复更新。
但是,如果网络中的子网划分边限不是非常分明的话,静态注入也会产生数据流阻塞等问题.
BGP通告路由的常用方法就是使用Network命令选择欲通告的网段,该命令指定目的网段和掩码,这样在IGP路由表中的匹配该条件的一群路由都进入到BGP路由信息表中,被策略筛选后通告出去.之所以说-•群路由,是因为指定网段所包含的子网将全部被通告.
如BGP中使用network18.0.0.0255.0.0.0命令后,如果賂由表中有18.0.0.0/8的网段、18.1.0.0/16的网段、18.2.0.0/24的网段等网段,则都会被归入到BGP路由信息表中•如果路由表中无该网段或其子网,则无路由进入到BGP路由信息表中•因此,有时候为了配合BGP路由的通告,需要在路由器上配置一些指向Loopback地址的静态路由.
值得注意的是,进入到BGP路由信息表中的路由并不一定能够通告出去,这跟BGP的路由过滤或者路由策略息息相关!
BGP路由通告方式二路由重分布
在路由条目数量很多,聚合不方便的情况下.BGP路由通吿不得不选择完全动态注入的方式,将某一种或多种的IGP路由再分布(Redistribution)到BGP中。
这样配置快捷方便。
如下所示,ZXR10支持各种IGP协议到BGP的审分布:
GER(config-router^redistribute?
connectedConnected
isis-1IS-ISlevel-1routesonly
isis-1-2IS-ISlevel-1andlevel-2routes
isis-2IS-ISlevel-2routesonly
ospf-extOpenshortestpathFirst(OSPF)externalroutes
ospf-intOpenshortestpathFirst(OSPF)internalroutes
ripRoutinginformationprotocolRIP)
staticStaticroutes
在重分布的过程中,可以指定这些路由条目的各种BGP属性值。
常用的方法是使用路由映肘a(route.niap)来加以实现.
NAT是一种地址映射技术,将主机的私有IP地址映射为一个外部唯一可识别的公用IP地址
NAT对于内部主机和外部网络是透明的,NAT在内部网络和外部网络相连的接口上将内部网络发出去的数据包的源地址修改为外部可用的公用地址;
再将外部网络返回给内部主机的数据包的目的地址修改为该主机的内部私有地址.这样,在外部网络来看,它看到的该内部主机是具有公用地址的主机,并不知道该主机是私有网络内的主机;
而在内部主机来看,它发出去的和收到的IP包都以其自身的私有IP地址作为源和目的地址,并不用区分自己使用何种地址.
NAT(网络地址转换),其作用如下:
有效的节约internet公网地址,使得所有的内部主机使用有限的合法地址都可以连接到Internet网络
使用NAT有很多的优点:
最大的优点是可以限制需要进行IANA注册的专用内联网所用的IP地址