OSPFudp协议的特性中区域的划分和联盟特性中的子联盟有什么区别

RIP协议的报文使用UDP传输,而OSPF报文则采用TCP协议传送。()

}

OSPF 数据包类型:


1.用于发现、建立和维持邻居关系

他们主要协商一些参数:区域ID、认证信息、网络掩码、Hello间隔、路由无效间隔、可选项。


RFC 4576是这样描述这个位的:

用于基于MPLS VPN,我们通常所指VPN是指RFC 2547。当一条路由通过OSPF从某个客户网络学到后,它会穿过使用Multiprotocol BGP的VPN被通告到网络对端,接着再通过OSPF被通告到客户网络。通告回的OSPF路由在BGP中会被重新分配到VPN运营商的网络,这样就会形成一个环路。DN位用来避免这个环路。当在类型3、5、7的LSA设置了DN位后,接收路由器就不能再它的OSPF路由计算中使用该LSA.

我们可以做个试验来验证这一点:

O:设置用来表明始发路由器支持Opaque LSA(9、10、11)

在按需链路上,OSPF可以设置DoNotAge(Age位的最高位设置为1)位来防止LSA老化,原因是这条链路可能过忙,但OSPF是无法检测到,那么每30分钟的重新泛洪LSA则可能丢包。如果不防止老化,那么LSA可能被清除。设置了DoNotAge后,接收到LSA会增加一个InfTransDelay(默认为1s),然后放到链路状态数据库后将不再老化。如果要启用该特性,在接口上使用ip

N/P:只用在Hello数据包中。一台路由器设置N-bit=1表示它支持NSSA外部LSA。如果设置N-bit=0,那么路由器将不接收和发送NSSA外部LSA。邻居路由器如果错误配置了N-bit将不会形成邻接关系,这个位可以保证一个区域内的路由器都同样的具有支持NSSA的能力。如果N-bit=1,那么E-bit必须设置为0;P-bit:只用在NSSA外部LSA的头部(由于这种情况,N/P可以使用在同一位置)。改为告诉NSSA区域的ABR将类型7的LSA转换成类型5的LSA。

MC:当施法路由器具有转发IP组播数据包的能力时,改位将被设置。在MOSPF中使用。

E位:当始发路由器具有接受AS外部外部LSA的能力时,改位将被设置为1,即在始发于骨干区域和非纯末梢区域的LSA中该位被设置为1。而所有始发于末梢区域的LSA当中,该位被设置为0.同样在Stub区域改位被设置为0。

MT:以前被是T位,用于表示路由器支持ToS的能力,但是由于ToS没有被部署过,所有改位被设置为MT(多拓扑OSPF)

我们要总结一下OSPF的基础知识拓扑图,我们可以通过构建简单学习思路图,来加深基础知识的记忆。

我们要把TCP/IP卷一和卷二都要仔细的看一遍。

还有其某些常用的细节功能的命令我们都要去熟记一下

记住只有在建立邻接关系的路由器之间才能够发送LSA。

而,路由器的无效时间则是缺省间隔的4倍。这个值可以通过ip ospf dead-interval来设定。

能否建立邻接关系是通过检验Hello数据包中携带的区域ID、认证信息、网络掩码、Hello间隔时间、路由器无效间隔时间,可选项。

传送网络:与两台或两台以上的路由器相连,传送那些仅仅需要通过的数据包,它的始发网络和目的网络都不同于当前的传送网络。

末梢网络:仅仅和一台路由器相连,末梢网络上的数据包总是有一个源地址或者目的地址属于这个末梢网络,末梢网络的流量要么始发于这个网络,要么终止与当前网络。OSPF协议在末梢网络上通过主机了路由,loopback接口也可以认为是末梢网络,并当做主机路由通告(即属于32位网络)

对于OSPF相关路由器之间,会创建很多不必要的LSA,假设有n太路由器,就要形成n(n+1)/2

个邻接关系。最终要形成n的平方个LSA通告。

多址网络本身的泛洪扩散,当某一台路由器向与它存在的邻接关系的所有邻居发出LSA,同样的,这些邻居又向与它有邻接关系的邻接发这个LSA,为了在一个多路访问网络避免这些问题的发生,可以在MA网络上选举出一台指定路由器,这台指定路由器将完成以下工作:

描述这个MA和OSPF区域内其余与其相连的路由器。

管理这个MA网络上的发红扩散过程。

DR背后是广播链路本身被认为是一个伪节点。或者是虚拟路由器。当SPF数进行计算的时候,把这点链路的代价看成为0,这样,所有经过DR的路由都不会受到伪节点的影响。

网络中的每一台路由器都会与DR形成邻接关系,重点:一台路由器可能是它所连接的其中一个多路访问网络的指定路由器,它可能不是另一MA网络的DR,换句话说,DR是接口的特性,而不是整台路由器的特性。

DBD数据包的三个作用:

作用:在数据库同步过程中收到DBD包,路由器将会查看DBD包描述的哪些LSA不在自己的数据库中,或者有哪些LSA比自己数据库中的LSA更新。然后将这些LSA记录在LSR请求列表中。然后路由器会发送一个或多个LSR去向他的邻居请求发送在链路状态请求列表中的这些LSA的副本,一个数据包可以根据一个LSA头部的类型、ID、通告的路由器进行唯一标示,但是它不能请求这个LSA的具实例(LSA的具体实例有位于LSA头部的序列号、校验、老化时间标识)。因此,无论请求路由为是否知道是LSA的哪个具体实例,它所请求的都是LSA的最新实例。这样避免了在路由器最新描述LSA到其副本被请求的时间之间,邻居可能获得

OSPF路由汇总的作用:

在ABR路由器上执行路由汇总

在ASBR路由器上执行路由汇总。

当明细路由down掉后不影响汇总路由。

ABR会创建一个指向空接口的路由去防止路由环路。

Area_id:指的是明细路由在哪个区域。

汇总路由继承明细路由中开销最低的那条明细路由。

OSPF:在ASBR上默认产生一条类型5的默认路由。

OSPF默认路由的发布,在ASBR上使用default-infornationoriginate命令让ASBR向OSPF网络宣告一条基于Type-5的默认路由(O *E2)不过,这有个前提条件:如果OSPF本地路由表不存在一条0.0.0.0/0的默认路由,那么这条基于Type5的默认路由才能发布成功。

不过我们可以使用关键字always来忽略这个存在默认路由的条件。

OSPF的路由认证:总共支持3中类型的认证类型:

认证类型1:明文认证。

这种方式在接口下配置密钥,并且在接口下启动认证。

认证类型2:MD5认证。

这里注意链路两边的key-id必须配置相同。

然后我们在接口下启用认证方式:

我们进行区域认证:同理配置过程差不多:都是先在接口下配置密钥。

然后在进程下面启用相应类型的认证。

当我们在一边启用虚链路认证时。不过我们知道虚链路是不交换hello包的,因此一边不配置密钥hello包也不会down掉。此时我们要重启虚链路后才能够让虚链路配置的密钥起作用。

有关动态协议的充分发,我们可以将静态协议重分发进动态协议。我们在做重分发的时候可能会产生路由环路,比如BGP-EIGRP-BGP。这就导致可能出现环路。

充分发点,同时处于两个协议。

Using Seed Metrics:种子度量。这点我们充分发进某个协议,一旦被充分发进来的协议,我们为其设定一个度量标准。

所以我们一般为RIP 和 EIGRP手工指定度量值。

Two-way:我们一般使用静态路由或者默认路由辅助,我们一般不做双向重分发。单点双向重分发,可能对路由器的资源消耗过大,这个是我们考虑不做双向重分发所要考虑到了。

当两种协议做重分发的时候,造成次优化路由的问题。对于这种有多出口的我们推荐使用双向充分发。此时我们就需要用到路由的过滤和一些其他的措施比如改变AD值。

比如当我们把边缘网络与核心网络做双向充分发的时候,我们必须将核心网的部分路由过滤掉。

尤其在双重分发点,路由产生环路的几率是比较大的,我们应当采取一些措施:

别的协议充分发进ospf,我们要指定关键字subnets:这个关键字是考虑到子网和subnets的问题。不加这个关键字仅重发仅主类网络。

还有一个关键字:metric-type 1 我们知道ospf默认外部的度量为O *E2的类型,我们可以通过这个关键字让其调整为O *E1

我们该如何设置种子度量呢?

在网络上我们选择协议的时候要考虑的因素有很多。

我们可以通过过滤工具,以此达到过滤路由更新的过滤

show processes以此查看路由。使用路由过滤工具,不去优化cpu性能,因为在执行路由过滤的路由器上CPU的消耗反而是增加了。

我们知道分发列表过滤的是路由更新,我们知道ospf交换的是链路状态,因此我们出站方向的分发列表是没有什么意义的。

1.允许或者拒绝取决他所调用的ACL

2.对于LS路由协议,只能基于进站方向进行过滤,并且无法过滤路由条目。

另外ACL是通过反掩码去匹配网络号的,而prefix filters则是对子网掩码进行匹配的。

处理方式:类似ACL自上而下。一旦匹配成功就不再匹配的。

route-map强大的一点能用在重分发中。或者用在策略路由当中。

PBR有能力让数据包基于源地址进行路由。

我们发现包并没有变化,此时我们必须用扩展ping更改源地址。

最后一个数字指的是ACL,匹配acl1

另一种思路是:我们做重分发的时候过滤掉某条产生环路的路由。

这个是当两个区域有两台路由直连。并且在两台路由都做双向重分发


L1的路由器要想去往其他区域的必须要先路由到最近的L1-2路由路由器上。

由于出去的包和返回的包走出区域的时候,都是按照到达最近的L1-2路由器,因此可能造成来和去的包路径不对称问题。


isis用到NSAP地址,这个是配ISIS的第一步

NSAP地址:区域地址+系统ID

如果是Ethernet的话,那么SNPA地址就是MAC,如果是帧中继的话HDLC就是DLCI号。

SNPA是用来划分二层是什么介质的。

用于查看接口属于哪层的接口。默认情况下都是:Level-1-2的

当将路由器层次设为level-1的话:此时在Level-1的路由将产生一条指向level-1-2的默认路由用于到达域外路由。这是为什么呢?

在所有的边界Level-1-2路由器其上都会将LSP中的ATT位置1

在L1路由器上产生默认路由的条件:


我们可以把层次细化到某个接口。

注意进程和接口同时指定不同的层次,那么接口优先.

将某些明细路由泄漏进指定区域,以此达到让明细路由走指定路径的目的。

我们在L1-2路由器上:

此时在L1路由器上可以看到9.9.9.0这条域间路由了。

我们看到泄漏进入的metric值很奇怪:为153.这个值为148+接口metric

即我们之前将接口metric改位5了,因此这里为153.

而ISIS则是直接封装二层头部!!!!数据报文

而每种报文又分为L1和L2

修改端口isis优先级即可修改。

在广播链路上每10s发送一次hello包,而与DIS之间则是3.3s发送一次,这样可以快速检测DIS是否宕掉。

注意:虽然网络选举了DIS,但是所有的物理路由器仍然互相建立起邻接关系。

但是其他路由器还是只跟DIS交互LSP信息。

我们查看isis链路状态数据库:

一旦有一台路由器发现CSNP中的LSP摘要自己的数据库中没有或者CSNP中的序列号更高大,则会向DIS发送PSNP(LSR)用于请求指定LSP

在点到点网络中CSNP只发一次,当建立邻居关系后就不再发送了。只有当LSP发生变化时,直接发送LSP信息,然后对方回应PSNP(ACK)作为确认包。

· 始发路由器的路由器ID;
· 始发路由器接口的区域ID;
· 始发路由器接口的地址掩码;
· 始发路由器接口的认证类型和认证信息;
· 始发路由器接口的Hello时间间隔;
· 始发路由器接口的路由器无效时间间隔;
· 指定路由器(DR)和备份指定路由器(BDR);
· 标识可选性能的5个标记位;
· 始发路由器的所有有效邻居的路由器ID。这个列表仅仅包含这样一些所谓有效的邻
居路由器——即在最近的路由器无效时间间隔内,始发路由器接口可以从其接收到
hellp数据包的那些邻居。

对端收到本地发出的hello包后,发现里面没有包含自己的ID,所以删除邻居,然后重新协商建立。

答:收到LSA-5路由的时候,检查FA地址。
路由器与ASBR在同一区域内部,路由器通过LSA-1和LSA-2计算到ASBR位置,然后放入路由表。

路由器与ASBR不在同一个区域,路由器通过LSA-1和LSA-2计算到ABR,再由ABR产生的LSA-4,计算到ASBR的位置,放入路由表。

A.* R1---R2两台设备RID相同,邻居关系肯定建立不了,因为在OSPF报文头部包含有RID,所以RID相同建不了邻居。
B.*R1----R2----R3,在同一个区域内部,R1/R3的RID相同,邻居关系能建,但是R1/R3的路由会flapping。因为LSA-1由本路由器产生,里面包含基本的三元组信息:我有哪些链路,我有哪些邻居,以及到邻居的距离所以R1发布的LSA-1里面包括R1的链路和邻居,发到R3以后,R3发现ADV-Router是本路由器,但是信息不对,所以会产生一个Seq+1,age=0的新的LSA-1发出去,里面包含R3的链路和邻居。所以在R2上路由一直会flapping。R1/R3互相没有对方的路由。
1,R1/R3的RID相同。这时邻居关系能建立,路由学习看起来也没有问题。但是当R1或R3路由器在引入外部路由,产生LSA-5的时候,就会出现flapping现象。因为LSA-5由ASBR产生,所以ADV-Router是R1或R3的RID,发到另外一台设备上R3或R1时,发现ADV-Router是自己,自己并没有引入LSA-5,所以会产生一个seq+1,age=3600的LSA-5将路由给flush掉。这时会有flapping现象。综上所述,建议在整个OSPF域内,所有路由器的RID唯一。

抑制NSSA LSA转换为类型5 LSA时转发地址也随着转换,命令使用0.0.0.0替换原来的转发地址。

9.RIP V2部署在HUB-SPOKE环境中,SPOKE学到另外一个SPOKE的路由下一跳在HUB断,还是SPOKE端?能否改到另外一端?有什么总结?
10.OSPF在FR的HUB-SPOKE环境中部署,把接口改成NBMA和P2MP的时候有什么特点,为什么要设计P2MP这种接口网络类型?
11.第三方下一跳是什么现象?正确的定义是什么?有什么优点?
12.ICMP重定向能否在数据包转发不是最优路径的情况下走最优路径,为什么?
13:下一条flapping发送在什么情况?现网中40W条路由如何能够发现问题?如何修复?
14:虚拟下一条如何实现?主要解决什么问题?
15:BGP路由更新是全部更新,还是增量更新?如何确保路由的准确性?
16:EBGP建邻居默认直接是什么意思?
18:BGP的TCP连接方向如何控制?两端都是active或者passive可以建邻居吗?
23:MPLS VPN里CE跟PE之间跑什么协议?平常哪种用的最多?为什么?
24:当CE-PE间是动态路由协议的时候?把运营商看作什么?

而ISIS的老化时间20秒,而重新更新时间为15min+5随机抖动。

我们知道一台路由器共享相同NSAP的地址,当SEL为00的时候为NET地址,表示区域内唯一一台路由器。因此isis必须在同一个区域内,其区域之间的界限在链路上。

下图是完整的NSAP地址的格式:


NSAP主要分为三个部分:

要么用48位mac地址或者是扩展的32位接口IP地址。(每位添加前导0)

当我们在isis进程打开:

以上每个字节选项都要搞明白!

另一种查看邻居的命令是:show clns is-neighbors 这个能够观察到接口优先级:

我们可以查看is路由:

i表示isis域内路由,我们观察路由表有两种类型:L1和L2的。

我们发现有一条默认的路由,因为在R2上(Level-1-2上发向R1的LSP将ATT置位,引导内部路由器去往其他区域的路由器上)。

路由器去访问外部路由的时候首先去往最近的Level-1-2路由器,这有可能导致出去的包和返回的包路径不相同,也就可能导致路由的次优化问题。路径的不对称问题。

我们可以搜索一下次优化路由的问题。

Level1路由器上产生一条默认路由的条件是:

Level-1路由访问外部路由时都是走默认路由。

有时候根据需求需要将Level-2路由泄漏到Level-1中,并且可以通过distribute-list限制泄漏路由的跳数。

这条命令我们是在Level-1-2路由器上使用命令:

此时level-1路由器要向访问这条泄漏进去的level-2的路由不会走默认路由了,而是走泄漏进去的路由。

此时在R1路由器上产生了这条重发布的路由:

首先是LSP Header这个字段:如图所示:


接下来我们看一下isis的网路类型:

在广播链路上有一个选举的DIS(OSPF中的DR)

不同的Level可能选举不同的DIS。

没有备份DIS,这点与OSPF的BDR不同。

还有一点与OSPF不同点是ISIS 不支持更改网络类型。

我们可以更改ISIS的接口优先级:

可以针对不同的区域类型指定不同的优先级。

LSP在广播链路上使用的是组播地址;

LSP在点到点链路上使用的是单播。

下图是两种网络类型不同点进行对比的图:

在广播链路上其他路由器仅和DIS之间相互发送Hello,并且间隔为3.3s,这样能快速检测到链路的状态。

我们发现在广播链路上任意两台路由器之间都会建立邻接关系,但是其他路由器仅和DIS之间交换LSP。交换LSP的时候跟OSPF没什么区别。

我们去查看isis数据库:

这里显示的仅是链路状态数据库的摘要,我们可以通过关键字verbose来查看详细数据库

我们分别看一下两种不同网络类型同步LSP的过程以及其中需要的数据包:

在点对点链路上CSNP只发送一次即:在点对点链路上双方交换一次CSNP,当链路状态发生改变后,路由器直接发送LSP给其邻接关系的路由器,对方收收到后返回一个PSNP数据包作为ACK对其收到的LSP进行确认,并且在PSNP当中的序列号是其收到LSP中的Sequence Number字段加一。

}

手机或平板扫扫即可继续访问

关于配置ospf,协议中的stub,区域,下列说法正确的是

}

我要回帖

更多关于 udp协议的特性 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信