OSPF路由协议详解

OSPF路由协议

OSPF的基本概念和工作过程

开放式最短路径优先协议(OSFP)是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换。Internet工程任务协会(IETF)于1988年开发了OSPF,其最近版本是OSPF版本2,在RFC 2328中进行了描述。

OSPF路由协议概述

OSPF是内部网关路由协议

在共同管理域下的一组运行相同路由选择协议的路由器的集合为一个自治系统(Autonomous System,AS)。在互联网中,一个自制系统是一个有权决定本系统使用哪种路由协议的单位,它可以是一个企业、一座城市或一个电信运营商。随着网络的发展,上述对AS的定义已经不是十分准确了,网络的发展使得网络之间经常出现网络合并情况,导致同一个自治系统中使用的路由协议也越来越多,所以自治系统的定义应该是在共同管理下的互联网络。

内部网关路由协议(IGP):用于在单一自治系统(Autonomous System,AS)内决策路由。内部网关路由协议包括RIP、OSPF等。

与内部网关路由协议相对应的叫做外部网关路由协议(EGP),外部网关路由协议用于在多个自治系统之间执行路由。BGP协议就是外部网关路由协议。

IGP是用来解决AS内部通信的,而EGP是解决AS间通信的。

OSPF是链路状态路由协议

链路状态路由协议通过与邻居路由器建立邻接关系,互相传递链路状态信息,来了解整个网络的拓扑结构。在链路状态信息中,包括有哪些链路,这些链路与哪个路由器相连,连接的路径成本是多少等信息,因此,在链路状态路由协议收敛后,一台路由器可以了解本区域完整的链路信息。

运行链路状态路由协议的路由器就好像各自“绘制”自己所了解的网段信息,然后通过与邻居路由器建立邻接关系,互相“交流”链路信息,学习整个区域内链路信息,来“绘制”出整个区域内的链路图。在一个区域内的所有路由器都保存着完全相同的链路状态数据库。

名词解释:

邻居路由器:位于同一条物理链路或物理网段上的路由器。

链路状态数据库:也称为拓扑数据库,它包含所有路由器、路由器的链路以及这些链路的状态,还包含所有网路以及到这些网络的所有路径。

邻接关系:当两台运行OSPF协议的邻居路由器的链路状态数据库达到一致(同步)时,它们就是完全邻接的。

OSPF的工作过程

运行RIP的路由器只需要保存一张路由器,而使用OSPF路由协议的路由器需要保存三张表。

邻居表:列出每台路由器已经建立邻接关系的全部邻居路由器。

链路状态数据库(LSDB):列出网络中其他路由器的信息,由此显示了全网的网络拓扑。

路由表:列出通过SPF算法计算出的到达每个相连网络的最佳路径。

运行OSPF的路由器试图与邻居路由器建立邻接关系,在邻居之间互相同步链路状态数据库。使用最短路径算法(OSPF依据的算法是Dijkstra算法),从链路状态信息计算得到一个以自己为树根的“最短路径树”。到最后,每一台路由器都将从最短路径树中构建出自己的路由表。OSPF的路由器也仍然是依据路由表进行数据转发的。

OSPF的基本概念

OSPF区域

OSPF是一种链路状态型的路由协议,不会产生环路问题,因此不需要使用最大跳数等限制来防止环路的产生。

OSPF将自治系统分割成多个小的区域,OSPF的路由器只在区域内部学习完整的链路状态信息,而不必了解整个自治系统内部所有的链路状态。

区域0为骨干区域,它用来连接自治系统内部的所有其他区域。用来连接骨干区域和其他区域的路由器叫做区域边界路由器,它了解所连接的两个区域的完整的链路状态信息,并将链路状态信息汇总后发给区域内的其他路由器。这样,减小了路由器保存的链路状态数据库的大小,可以解决路由器内存容量有限的问题。

区域是通过一个32位的区域ID(Area ID)来标识的。

区域ID可以表示成一个十进制的数字,也可以表示成一个点分十进制的数字。在Cisco的路由器中这两种表示方式都可以使用。

区域0(或者区域0.0.0.0)是为骨干区域保留的区域ID号。OSPF的骨干区域(Backbone Area)是一个特殊的OSPF区域,它担负着区域间路由信息传播的重任。

Router ID

因为运行OSPF的路由器要了解每条链路是连接在哪个路由器上的,因此,就需要有一个唯一的标识来标记OSPF网络中的路由器,这个标识称为Router ID。

Router ID是在OSPF区域内唯一标识路由器的IP地址。Cisco路由器通过下面的方法得到它们的Router ID。

首先,路由器选取它所有Loopback接口上数值最高的IP地址。

如果路由器没有配置Loopback接口的IP地址,那么路由器就在所有活动物理端口中选取一个数值最高的IP地址作为路由器的Router ID。用作Router ID的路由器接口不一定非要运行OSPF协议。

使用Loopback接口作为Router ID的主要好处是Loopback接口比任何其他的物理端口都更稳定。一旦路由器启动成功,这个回环接口就会处于活动状态,只有整个路由器失效时它才会失效。

在OSPF协议中可以通过router-id命令指定路由器的Router ID,所以网络管理员可以配置便于识别和记忆的Router ID值。

在实际工程中配置OSPF时都需要手工指定路由器的Router ID,这已经成为了一种标准配置。

四类路由器:

(1)区域内路由器(DR):
该类路由器的所有接口都属于同一个OSPF区域。

(2)骨干路由器(BDR)
该类路由器至少一个接口属于骨干区域。
因此,所有的ABR和位于Area0的内部路由器都是骨干路由器。

(3)区域边界路由器ABR(Area Border Routers):
该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域。
ABR用来连接骨干区域和非骨干区域,可以是实际连接,也可以是虚连接。

(4)自治系统边界路由器ASBR(AS Boundary Routers)
与其他AS交换路由信息的路由器称为ASBR。 只要一台OSPF路由器引入了外部路由的信息,他就称为了ASBR,它有可能是ABR,区域路由器,不一定位于AS边界。

DR和BDR

DR和BDR的概念

运行OSPF的路由器通过与邻居路由器建立邻接关系,互相传递链路状态信息。如果每两个路由器之间都要建立邻接关系,那么,就会构成n(n-1)/2个邻接关系。每台路由器都要与其他所有的邻居路由器互相传递链路状态信息。

那么这种情况就会显得比较混乱,而且也会浪费许多不必要的网络资源。

为了避免这些问题的发生,可以在这个网段上选举一个指定路由器(Designated Router,DR)。由DR同网络中的其他路由器建立邻接关系,并负责将网段上的变化告知它们。

网络上的每一台路由器都和DR构成一个邻接关系,那么只需要建立n-1个邻接关系就可以了。

为了实现冗余,当DR失效时,需要有一个新的指定路由器来接替它,这个路由器就是备份指定路由器(Backup Designated Router,BDR)。网络上所有的路由器将和DR、BDR同时形成邻接关系,DB和BDR之间也将形成邻接关系。如果DR失效了,BDR将成为新的DR。

DR和BDR的选举

可以由OSPF自动选择DR和BDR,也可以手工选择。

自动选择DR和BDR

网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR。这样的选举结果可能不是最佳的,例如:如果网段中有Cisco7200和3800系列路由器,那么3600路由器可能由于Router ID较大而被选举为DR。

手工选举DR和BDR。

要手工选择DR和BDR,需要设置路由器的优先级。每台路由器的接口都有一个路由器优先级(Router Priority),用一个八位的无符号整数来表示,大小范围是0-255,数值越大,优先级越高。Cisco路由器上默认的优先级是1。接口优先级可以通过命令ip ospf priority来更改。如果路由器的优先级被设置为0,它将不参与DR和BDR的选举。

优先级越高,赢得选举的可能性越大。如果优先级相同,则需要比较Router ID。

DB和BDR的选举过程

当一台OSPF路由器启动并发现它的邻居路由器时,它将去检查有效的DB和BDR路由器。

如果DR和BDR路由器存在的话,这台路由器将接受已经存在的DR和BDR路由器。

如果BDR路由器不存在,将执行一个选举过程,选出具有最高优先级的路由器作为BDR路由器。如果存在多个路由器具有相同的优先级,那么Router ID最大的路由器将被选中。

如果没有有效的DR路由存在,那么BDR路由器将被提升为DR路由器,然后再执行一个选举过程选举BDR路由器。

这里需要注意的是,路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器。也就是说,在已经选举了DR和BDR路由器后,如果一台具有更高优先级的路由器接入网络,这台新的路由器并不会马上替换DR或BDR路由器中的任何一个。因此,在一个广播多路访问网络上,最先初始化启动的两台具有选举资格的路由器将成为DR和BDR路由器。

OSPF的组播地址

一旦DR和BDR路由器选举成功,其他路由器(成为DRother)将只与DR与BDR路由器形成邻接关系。组播地址224.0.0.5代表所有参与OSPF的路由器(AIISPFRouter),而组播地址224.0.0.6只有DR和BDR路由器去侦听这个地址,但BDR只侦听不响应。在广播多路访问网络上,链路更新信息先发送到244.0.0.6,再由DR路由器使用组播地址244.0.0.5泛洪更新报文到其他所有路由器。

OSPF的度量值

OSPF的用来度量路径优劣的度量值称为Cost(开销),是指从该接口发送出去的数据包的出站接口开销。链路开销使用16位的无符号的整数表示,大小范围是1-65535。

Cisco公司使用的默认代价是108/BW,表示为一个整数,在这里BW是指在接口上配置的带宽,而108是Cisco路由器使用的参考带宽。

路由器接口的开销值可以通过命令ip ospf cost来改变,当在一个有多家厂商产品的网络环境中配置Cisco的路由器时,这个命令变得十分重要。例如:有些厂商的路由器在其所有的接口上使用的默认开销值是1。如果网络中所有的路由器没有使用同一种计算开销的方式来指定OSPF的开销,那么OSPF协议将不能正确的进行路由选择。

使用108作为接口的参考带宽在现代一些带宽高于100Mb/s的网络介质中会产生一个问题。108/110Mb/s=1,这就意味着更高带宽的传输介质在OSPF协议中将会计算出一个小于1的数,这在OSPF协议中是不允许的。因此,从IOS 11.2版开始,Cisco可以在OSPF进程模式下使用命令auto-costreference-bandwidth修正这个问题,这个命令允许管理者更改默认的参考带宽。

接口类型开销(108/BW)

Fast Ethernet1

Ethernet10

56K1785

OSPF邻接关系的建立

OSPF的数据包类型

OSPF信息不使用TCP或UDP,它承载在IP数据包内,使用协议号89(十进制)。

OSPF路由协议依靠五种不同类型的包来标识它们的邻居以及更新链路状态信息。这五种类型的包使得OSPF具备了高级和复杂的通信能力,如下表所示列出了OSPF常用的包类型。

OSPF的包类型描述

Hello包用于发现和维持邻居关系,选举DR和BDR

   数据库描述包(DBD)用于向邻居发送摘要信息以同步链路状态数据库

  链路状态请求包(LSR)在路由器收到包含新信息的DBD后发送,用于请求更详细的信息

链路状态更新包(LSU)收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA

链路状态确认包(LSAck)确认已经收到LSU,每个LSA需要被分别确认

OSPF 6 类 LSA 类型

1 类 LSA(Router Link):每台路由都只产生一条 1 类 LSA,只在区域内传递;
2 类 LSA(Router Link):只在有 DR/BDR 选举的多路访问网络中产生,点到点或帧中继等没 有 DR/BDR 选举的网络不产生 2 类;
3 类 LSA(Router Link):将区域内的 LSA 汇总和简化,并发往另一个区域,由 ABR 始发; 4 类 LSA(Router Link) :外部路由重分布进来后,由于 LSA 的 Router-id 还是 ASBR 的,这 个时候就需要由 ABR 告知非 ASBR 区域的路由器一条 LSA,怎样到达 ASBR 的 Router-id,由 ABR 始发;
5 类 LSA(Router Link):从外部路由重分布进 OSPF,携带了 ASBR 的 Router-id,会在所有 ospf 区域中传递,任何路由器都不能更改它的 router-id,由 ASBR 始发;
7 类 LSA(Router Link):NSSA 区域允许有 ASBR 存在,在把外部路由重分布进 NSSA 区域后,将产生 7 类 LSA,7 类只会在 NSSA 区域中传递,当要传递到其他区域时,ABR 将把 7 类 LSA 转换成 5 类 LSA

OSPF邻接关系的建立

当两台或多台路由器同时启动运行OSPF路由协议时将开始建立邻接关系的过程,此过程将经历七种状态:

失效(Down)状态

这是OSPF建立交互关系的初始化状态,路由器没有与任何邻居交换信息。

初始(Init)状态

路由器的各个接口通过224.0.0.5发送Hello报文,这里以R1发送Hello报文为例。当邻居路由器R2收到第一个Hello报文,这时就进入Init状态。在该状态时,路由器R2已经接收到Hello报文,但自身的ID并没有出现在该Hello报文内。

双向(2-Way)状态

路由器R2向路由器R1发送一个Hello回应报文,该Hello回应报文含有路由器R1的ID。当路由器R1收到该Hello回应报文,发现含有自身的ID,这是就进入2-Way状态,双向通信已经建立。DR和BDR的选举正是在这个状态完成的。

准启动(ExStart)状态

在选举出DR和BDR之后,路由器就被认为是处于ExStart状态。在该状态中,DR和BDR与网路中其他各路由器建立邻接关系。在这个过程中,两个邻接路由器之间建立起一个主/从(Master/Slave)关系,路由器ID大的作为主路由器,用来发起通信。

交换(Exchange)状态

主/从路由器之间交换一个或多个数据库描述包(DBD),路由器进入Exchange状态。DBD包含的是链路状态数据库中的LSA条目的摘要信息,主/从路由器之间交换DBD时要确保双方都接收到。

加载(Loading)状态

如果收到的DBD有更新的LSA条目的摘要信息,路由器将向对方发送链路状态请求包(LSR)请求更详细的信息,对方路由器用链路状态更新(LSU)回应该LSR,此过程称为Loading状态。链路状态更新包(LSU)需要对方确认收到。

完全邻接(Full)状态

当路由器之间完成了数据库同步,它们的链路状态数据库已经完全一致,此时就达到了Full状态。

到此,路由器中的链路状态数据库已经完全一致了,路由器可以根据这个一致的链路状态数据库通过最短路径优先算法(SPF)来计算到目的网络的最佳路径并形成路由表。

OSPF的网络类型

根据路由器所连接的物理网络不同,OSPF将网络划分为以下四种类型:

点到点网络(Point-to-Point)

点到点网络连接单独的一对路由器。在点到点网络上的有效邻居总是可以形成邻接关系,不需要DR和BDR。在这些网络上的OSPF报文的目的地址也总是224.0.0.5。(s接口)

点到点网络一般采用PPP协议、HDLC协议等。

广播多路访问网络(BMA)

广播多路访问网络,像以太网和光纤分布式数字网(FDDI)等,它们可以连接多于两台的设备。而且由于它们是广播型的,因而连接在这种网络上的所有设备都可以接收到传送的报文。在广播型网络上的OSPF路由器会选择DR和BDR。OSPF报文采用组播方式发送。(单播)

非广播多路访问网络(NBMA)

NBMA网络,像X.25和帧中继等,可以连接两台以上的路由器,但是它们没有广播数据包的能力。在NBMA网络上的OSPF路由器需要手工配置邻居,选举DR和BDR,并且所有的OSPF报文都是单播的。(组播)

点到多点网络(Point-to-MultiPoint)

点到多点网络是NBMA网络的一个特殊配置,可以被看作是一群点到点链路的集合。在这些网络上的OSPF路由器不需要选举DR和BDR,OSPF报文时组播的。

名词解释

HDLC(High Level Data Link Control,高级数据链路控制):是常用的数据链路层协议之一。许多常用的数据链路层协议的封装方式都是基于HDLC的封装格式。HDLC是ISO组织制定的一个标准化规程,它适用于点到点和点到多点的数据链路。由于各个厂家对DHLC标准的实现不尽相同,所以一般不同厂家设备之间互连不能采用HDLC协议进行封装。Cisco路由器串口使用的默认协议时HDLC。

PPP(Point to Point Protocol,点对点协议):是应用最广泛的广域网连接时使用的数据链路层协议。它支持多种网络层协议,并且支持用户认证。

OSPF的应用环境

使用OSPF的原因

OSPF与RIP相比虽然有点很明显,但是一般情况下,并不是所有的网络都需要都需要使用OSPF,一些简单的,路由器配置较低的环境,仍然需要使用静态路由。当考虑以下几个方面的因素时,一般需要使用OSPF来搭建:

1)网络的规模

当网络中的路由器在十台以上或大中型规模的网络。

2)网络的拓扑结构

网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求。

3)其他特殊的需求

要求路由器变化时能够快速收敛,路由协议自身的网络开销尽量降低。

4)路由器自身的要求

运行OSPF协议时对路由器CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议。

OSPF的特点

OSPF主要具有以下几个特点:

可适应大规模网络

路由变化收敛速度快

无路由环路

支持可变长子网掩码VLSM

支持区域划分

支持以组播地址发送协议报文

OSPF与RIP的比较

从网络结构看

RIP的拓扑简单,适用于中小型网络,没有区域、边界等概念。最大跳数为15跳,路由是依靠下一跳的个数来描述,无法体现带宽与网络延迟。

OSPF适用于较大规模的网络。它把自治系统(AS)分成若干个区域,通过对系统内部路由的不同处理,对区域内和区域间路由的不同处理,减少网络数据量的传输。OSPF对应RIP的“跳数”,引入了“开销(Cost)”的概念。OSPF还把其他路由协议或者静态路由作为AS的外部路由引入,处理能力相当强。

RIP的原始版本不支持变长子网掩码VLSM(RIP v2支持),OSPF支持可变长子网掩码(VLSM)。

协议运行有差别

运行RIP时,首先向邻居发送请求报文,其他运行RIP的路由器收到请求报文后,马上把自己的路由表发送过去;在没收到请求报文时,定期(30s)广播自己的路由表。

运行OSPF时,用Hello报文同邻居建立连接,然后迅速建立邻接关系,只在建立了邻接关系的路由器中发送路由信息;以后靠定期发送Hello报文来维持连接,相对RIP的路由表报文来说这个Hello报文要小得多,网络拥塞也就少了。Hello报文在广播网上一般每10s发送一次,若在一定时间内(4倍于Hello间隔)没有收到Hello报文,便认为对方已经死掉,从路由表中去掉,但在链路状态数据库中并没有真正的去掉,以备它在启用时减少数据传输量。但在它达到3600s(60分钟)时便真正去掉它。OSPF的LSA也会重发,重发间隔为1800s(30分钟)。

使用情况不同

一般来说,OSPF占用的实际链路带宽比RIP少,因为它的路由表是有选择的广播(只在建立邻接的路由器间),而RIP是邻居之间的广播。OSPF使用CPU的时间比RIP少,因为OSPF达到平衡后的主要工作是发送Hello报文,而RIP发送的是路由表(Hello报文比路由表小得多)。OSPF使用的内存比RIP大,因为OSPF有一个相对大的路由表。OSPF使用了邻接关系,其收敛速度快。

归纳两者的比较情况,如下表所示:

OSPFRIP v1RIP v2

链路状态路由协议距离矢量路由协议

没有跳数的限制RIP的15跳限制,超过15跳的路由被认为不可达

支持可变长子网掩码(VLSM)不支持可变长子网支持可变长子网掩掩码(VLSM)码(VLSM)

收敛速度快收敛速度慢使用组播发送链路状态更新,周期性广播整个路由表,在低速链路及广

在链路状态变化时使用触发更新,域网中应用将产生很大问题提供了带宽的利用率

到此这篇关于OSPF路由协议详解的文章就介绍到这了,更多相关OSPF路由协议内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • OSPF路由协议概念及工作原理

    OSPF路由协议概念及工作原理 --随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用最多.应用最广泛的路由协议之一.OSPF(Open Shortest Path First)路由协议是由IETF(Internet Engineering Task Force)IGP工作小组提出的,是一种基于SPF算法的路由协议,目前使用的OSPF协议是其第二版,定义于RFC1247和RFC1583. 1.概述 --OSPF路由协议是一种典型的链

  • 如何选择路由协议

    当网络启用了路由协议,网络便具有了能够自动更新路由表的强大功能.但是使用象RIP/RIP2.OSPF或IGRP/EIGRP等一些主要的内部网关协议(InteriorGatewayProtocol,IGP)都有一定的协定. 内部网关协议首先适合于在那些只有单个管理员负责网络操作和运行的地方:否则,将会出现配置错误导致网络性能降低或是导致网络运行不稳定的情况.对于由许多管理员共同分担责任的网络,如Internet,则考虑使用EGP协议(InteriorGatewayProtocol,外部网关协议),

  • 华为路由器与Cisco路由器路由协议优先级比较

    华为路由器规定的路由协议优先级为: 路由协议       |   优先级 ------------ DIRECT         |     0 OSPF           |    10 STATIC         |    60 IGRP           |    80 RIP            |   110 OSPFASE        |   150 BGP            |   170 Cisco 路由器规定的路由协议优先级为: 路由协议       |  优先级

  • 路由协议一样影响网络运行速度

    路由协议一样影响网络运行速度 大家通常认为影响网络运行速度的是路由器.交换机和网线等硬件设备,你可曾想到其他因素也会对网络运行速度产生影响. 前不久,有一煤矿系统进行网络升级改造.该网络有三四百台大小不等的路由器,型号多为Cisco系列,整体网络的拓扑结构为类似星形或树状的一种扁平式结构,而全网的路由协议却是近几年来颇为风行的OSPF协议,结果带来了一个严重的问题:在扁平的网络中使用OSPF,造成网络运行速度减慢.这样既浪费系统资源,又不利于系统稳定. OSPF的应用范围 OSPF(Open S

  • 路由器原理及路由协议

    本文通过阐述TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能,给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要介绍了目前最常见的RIP.OSPF.BGP和BGP-4这几种路由协议,然后描述了路由算法的设计目标和种类,着重介绍了链路状态法和距离向量法.在文章的最后,扼要讲述了新一代路由器的特征. 近十年来,随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络

  • 路由协议试题

    解决路由环问题的方法有(ABD)A. 水平分割B. 路由保持法C. 路由器重启D. 定义路由权的最大值 下面哪一项正确描述了路由协议(C)A. 允许数据包在主机间传送的一种协议B. 定义数据包中域的格式和用法的一种方式C. 通过执行一个算法来完成路由选择的一种协议D. 指定MAC地址和IP地址捆绑的方式和时间的一种协议 下内容哪些是路由信息中所不包含的(A)A. 源地址B. 下一跳C. 目标网络D. 路由权值 以下说法那些是正确的(BD)A. 路由优先级与路由权值的计算是一致的B. 路由权的计算

  • OSPFv3动态路由协议在NBMA链路上的实现

    1 问题的提出 随着网络信息时代的到来,Internet技术在全球范围内得到了迅速的发展,开放最短路径优先(Open Shortest Pass First,简称OSPF)动态路由协议已成为解决网络路由的首选内部网关协议. 在从IPv4向IPv6过渡的阶段,OSPFv3(开放最短路径优先第3版)作为下一代网络中的核心路由技术已经引起学术界的足够重视和深入研究,但当前的研究与实现多是在串行线路相连的路由器构成的网络拓扑上运行的情况,而Internet包含多种子网技术(也就是数据链路技术):如以太网

  • 解决采用多路由协议的网络问题

    出于各种原因,很多网络都采用多路由协议.这种现象通常是由于合并和收购活动造成的,或者是在迁移期间临时出现的. 也许有许多路由器硬件厂商使用多种专有的协议与标准的协议连接在一起.一些路由器无论如何都将运行一个以上的协议,并且不可避免地从两个协议收到同样的路由,必须在转发这个数据包的过程中在这两个路由之间做出决策.这里的潜在问题是,这些协议也许有不同的"下一跳",很容易导致路由循环或者黑洞通信的问题.当你进行修改之后并且一切都正常工作之后,出现这类问题是特别伤脑筋的.但是,随后在网络的另一

  • OSPF路由协议详解

    OSPF路由协议 OSPF的基本概念和工作过程 开放式最短路径优先协议(OSFP)是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换.Internet工程任务协会(IETF)于1988年开发了OSPF,其最近版本是OSPF版本2,在RFC 2328中进行了描述. OSPF路由协议概述 OSPF是内部网关路由协议 在共同管理域下的一组运行相同路由选择协议的路由器的集合为一个自治系统(Autonomous System,AS).在互联网中,一个自制系统是

  • Linux中tcpdump命令实例详解

    前言 tcpdump是一款类Unix/Linux环境下的抓包工具,允许用户截获和显示发送或收到的网络数据包. tcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息.tcpdump 是一个在BSD许可证下发布的自由软件. 下面这篇文章将给大家详细介绍关于Linux中tcpdump命令的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧. 一.命令格

  • Cisco路由技术基础知识详解

    Cisco路由技术基础知识详解 路由器 <一> 最简单的网络可以想象成单线的总线,各个计算机可以通过向总线发送分组以互相通信.但随着网络中的计算机数目增长,这就很不可行了,会产 生许多问题: 1.带宽资源耗尽.     2.每台计算机都浪费许多时间处理无关的广播数据.     3.网络变得无法管理,任何错误都可能导致整个网络瘫痪.     4.每台计算机都可以监听到其他计算机的通信. 把网络分段可以解决这些问题,但同时你必须提供一种机制使不同网段的计算机可以互相通信,这通常涉及到在一些ISO网

  • Linux下tcpdump命令解析及使用详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具.tcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. 实用命令实例 默认启动 tcpdump 普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包. 监视指定网络接口的数据包 tcpdum

  • 详解如何用Python模拟登录淘宝

    目录 一.淘宝登录流程 二.模拟登录实现 1.判断是否需要验证码 2.验证用户名密码 3.申请st码 4.使用st码登录 5.获取淘宝昵称 三.总结 1.代码结构 2.存在问题 看了下网上有很多关于模拟登录淘宝,但是基本都是使用scrapy.pyppeteer.selenium等库来模拟登录,但是目前我们还没有讲到这些库,只讲了requests库,那我们今天就来使用requests库模拟登录淘宝! 讲模拟登录淘宝之前,我们来回顾一下之前用requests库模拟登录豆瓣和新浪微博的过程:这一类模拟

  • keepalived对nginx进行高可用搭建及原理详解

    目录 一.Keepalived介绍 二.Keepalived的应用场景 三.Keepalived的工作原理 1 VRRP协议 2 核心组件 3 分层工作 4 工作状态 四.Keepalived使用 1 配置介绍 2 使用keepalived对nginx进行高可用搭建 2.1 环境准备 2.2 nginx软件安装和配置 2.3 Keepalived软件安装 2.4 监听存活脚本 2.5 最终配置文件 2.6 启动主从的Keepalived 2.7 查看VIP是否启动 2.8 测试 五.需要注意的问

  • AngularJS 日期格式化详解

    AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事. AngularJS的日期格式化有两种形式,一种是在HTML页面,一种是在JS代码里,都是用到AngularJS的过滤器$filter. HTML: date_expression 即 你在$scope中设的date类型变量(注意,一定是date object才正确), 也是要显

  • spring boot的maven配置依赖详解

    本文介绍了spring boot的maven配置依赖详解,分享给大家,具体如下: 我们通过引用spring-boot-starter-parent,添加spring-boot-starter-web 可以实现web项目的功能,当然不使用spring-boot-start-web,通过自己添加的依赖包也可以实现,但是需要一个个添加,费时费力,而且可能产生版本依赖冲突.我们来看下springboot的依赖配置: 利用pom的继承,一处声明,处处使用.在最顶级的spring-boot-dependen

  • 基于ES6作用域和解构赋值详解

    ES6 强制开启严格模式 作用域 •var 声明局部变量,for/if花括号中定义的变量在花括号外也可访问 •let 声明的变量为块作用域,变量不可重复定义 •const 声明常量,块作用域,声明时必须赋值,不可修改 // const声明的k指向一个对象,k本身不可变,但对象可变 function test() { const k={ a:1 } k.b=3; console.log(k); } test()解构赋值 { let a, b, 3, rest; [a, b, c=3]=[1, 2]

  • [译]ASP.NET Core 2.0 路由引擎详解

    本文介绍了ASP.NET Core 2.0 路由引擎详解,分享给大家,具体如下: 问题 ASP.NET Core 2.0的路由引擎是如何工作的? 答案 创建一个空项目,为Startup类添加MVC服务和请求中间件: public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvir

随机推荐