当你点开这篇文章,我不得不说,你前途无量。数据库
为何?安全
想一想世界杯期间,还有谁去学习、精进?服务器
而你不同凡响,他们看球,你读知识博客,你要是没前途了,还有谁有?网络
既然进来了,就品鉴品鉴这篇白话文,读完顺便点个赞,要是能再关注我一下,那就更好了~运维
好了,废话不说,上菜。ide
OSPF路由协议,相信你配置的熟练,听得耳烂,看的厌烦。学习
毫无疑问,OSPF在业界是出了名的成功,不管是同一个厂家的设备,仍是异厂家对接,OSPF都是一个很是不错的选择。google
稳定的输出,简单的配置,丰富的功能。编码
但是,还有一个OSPF的孪生姐妹,功能与OSPF相似,并且输出极其稳定,它就是今天咱们要说的主角:IS-IS,这位路由界的深宫妃子。翻译
之因此想起聊聊这位后宫美人,是由于你们对她都比较陌生,只闻其名,不见其人。恰好在个人《老司机网络运维干货集锦 》专栏里面,有朋友问道IS-IS协议的诸多细节,我以为有必要经过一个简单易懂的文章,同你们聊聊IS-IS的特色。
如何聊?
逐个盘点知识细节?这不是个人风格,咱们就追求简单易懂,上手即用。
因此最好的方法,就是经过一个熟悉的东西做为参照对象,从而让你可以快速上手。
这个对象,不用说,非OSPF莫属。
IS-IS全名并非中东某某集团、让你出国玩的时候很不爽的那一帮人。他们的名字中间少了一个横杠(-)。
此处说的IS-IS,名为中间系统-中间系统。
英文名:Intermediate System to Intermediate System (IS-IS)
名字很奇怪,之因此叫作“中间系统”,则是ISO这帮人对于网络设备的一个称呼,由于网络设备是介于终端之间。因此称之为中间设备,这就好像写什么文书,原本大白话能够说清的,非得一副文绉绉的样子。
而终端,例如服务器,主机等,则称做终端系统“End System”。
选手介绍完毕。
下图为OSPF 和IS-IS的各项区别和类似之处:
因为篇幅有限,也不想把文章当作说教之处,本文仅仅从里面挑出几个比较有意思的点和你一块儿分享。
仍是那句话,掌握思路比学到具体的知识更重要。
并且说到知识储备,有谁拼得过百度和google呢?能搜就好了。
接下来,开始进入PK环节:
OSPF是基于IP的路由协议,利用IPv4包头承载OSPF的数据包。以下图所示:
IS-IS就不同了,IS-IS是基于ISO的OSI协议模型的。
不知道你们是否还记得常说的OSI 7层协议模型,什么物理层,数据链路层,网络层等等。
其实这就是OSI 7层模型,而这7层模型中,还存在不少各类各样的协议,见过的没见过的。
以下图所示:
你可能很奇怪,好比网络层,协议不该该是IP么?传输层不该该有TCP,UDP么?怎么都看不到了。
其实TCP也好,IP也罢,都是基于TCP/IP协议模型,而非传统的OSI模型。
只是随着时间的推移,人们喜欢OSI的模型来描述网络层级,由于它更精确。
可是同时用现今流行的网络协议来对应到OSI层级上,因此就出现了,网络层IP,传输层TCP、UDP等协议的说法。
回到正题,你会发现,IS-IS就在上图中Network网络层的层级里面。
刚开始IPv4还没占领全宇宙的时候,OSI的这些古怪协议都还有人用,天然而然,就须要一个路由协议来学习各个奇葩协议的网段,IS-IS就应运而生了。
相比OSPF使用IP地址来互相创建邻居,IS-IS也须要一个OSI界的地址族,这就是NET(Network Entity Title:网络实体名称)。
一个典型的IS-IS NET的地址结构是这样的:
最左边的49.0001是区域号码,中间的192xxxx8001是系统号,右边的NSEL号码配置为00,表明路IS-IS路由器自身的地址。
NET地址小窍门:
有没有发现上面的1922.5112.8001很熟悉。
其实他是这样的:192.251.128.001。这不就是一个 传统的IPv4地址么。
彻底正确。
因为IS-IS的NET地址一台路由器只须要配置一个,一般都配置在lo0接口上。
因此最方便的就是把Lo0的IPv4地址转换一下变为NET地址。
例如192.168.1.1 能够转换为:49.0001.1920.1680.1000.1000.00
最后,让咱们一块儿看看IS-IS的数据包结构:
OSPF为了获取网络部署的灵活性,和各项路由功能,特定把整个OSPF域作了以下划分:
通常状况下,OSPF的多区域网络划分是这样的:
上述拓扑相信你们已经司空见惯。
可是请再次注意一点,那就是两个区域之间的链接,是经过一台路由器相连,此路由器咱们称之为ABR。
换句话来讲,一台路由器跨越了两个区域。
同时,OSPF能够有不少区域,你能够基于你的需求来定义区域的数量。
回过头来看看IS-IS。
传统模式
IS-IS也有区域的概念,可是相对于OSPF,它的区域则是简单的多。
IS-IS仅仅存在两个区域层级:
Level 2:骨干区域,相似于OSPF的Area 0。
Level 1:非骨干区域,相似于OSPF的非Area 0的区域。
二者之间的关系,以下图所示:
上述拓扑中,level 2做为主干,左右两侧做为分支。
可是请注意,左右两边没有Area号码这一说,都是同属于Level 1。
同时,OSPF的ABR部分,则称做L1/L2路由器,即把L1和L2互联起来的路由器。
众人大呼上当,这不是和OSPF如出一辙么,换汤不换药,就是把Area改成Level而已,ABR换一个名字?
真是如此吗?
独立模式
让咱们在看另一个拓扑:
上图有两台路由器,他们创建了IS-IS邻居关系,并且同时在Level1和Level2层级上创建邻居关系。
这就神奇了,你见过哪个OSPF路由器能够同时把Area 0和Area 1重叠起来创建么?
OSPF不能够,可是IS-IS能够。
IS-IS的Level 1和Level 2的邻居状态数据库等一切信息都是互相独立的,二者之间不产生交集,也不共享路由信息。
除非像上述传统模式拓扑内,存在一个L1/L2路由器,同时把两边衔接起来,此时L1和L2才存在互相通告路由的可能性。
IS-IS有趣的网络结构就此结束了么?
确定不会,下一个。
多域模式
在看图以前,先问个问题,你见过OSPF存在不一样的域么?
没有吧,OSPF没有相似于EIGRP或者BGP那样,存在一个自治系统号。
因此你不会看到下面这样的OSPF拓扑图:
可是,IS-IS却能够。
回到本文上半部分讲述IS-IS NET地址时,存在一个Area id区域号码。上述的例子是49.0001。
换句话说,IS-IS就能够存在多个域。
而域和域之间确定存在互联关系,天然而然就引入下面的拓扑:
上述拓扑中,存在三个IS-IS域。
他们之间必须经过L2骨干链路互联,并且互联的方式是两两互联,两两之间分别处于不一样的域内。
这个再次和OSPF区别开来,OSPF的Area之间经过一台ABR互联。
既然说到域,就顺带提提DR、BDR 指定路由器,备份指定路由器。。
DR和BDR是在OSPF广播型链路中,为了减小大量路由器两两之间交换的链路状态信息,遂选举出一个“村官”来管你们,全部同一个LAN里面的OSPF路由器都要和村长DR联系,同时还有一个副村长BDR,省得村长挂了。
那IS-IS里面是否也有相似的设计呢?
答案是有的。
IS-IS里面不叫DR,BDR。而是叫作DIS:Designated Intermediate System。
DIS是何必人也?其实很是容易理解:OSI模型里面Router路由器 = Intermediate System中间系统。
两边同时加上一个Designate指定一词,获得DR=DIS。
这就好理解了吧。
可是注意,IS-IS内没有BDR,即BDIS一说,IS-IS不喜欢副村长。
相信你们都知道OSPF都有哪一些常见的LSA类型,而每个LSA都表明什么意思。
例如一类LSA,二类LSA,3类,5类。7类等。
这些LSA汇总在一块儿,定义了OSPF的各类功能特性
绝不夸张的说,LSA赋予了OSPF蓬勃的生命力。
同时,正由于有了LSA,随着时代的发展,当OSPF须要更多的功能时。
就能够经过开发新的LSA类型来知足其功能上的需求,例如LSA9-11,负载MPLS相关的功能等。
一样的,IS-IS也得有它的一套绝活,不然怎么能在江湖上立足呢?
TLV,全称:Type,Length,Value,翻译过来就是类型,长度,值。
它做为一个典型的编码,被极其普遍的应用在IS-IS协议内部。
经过定义不一样的TLV,IS-IS也得到了不一样的功能。
常见的TLV以下所示:
Juniper 路由器 IS-IS输出结果下的TLV对应图:
OSPF和IS-IS相安无事不少年,你们各司其职。
OSPF风靡全世界的企业网,而IS-IS则稳坐运营商骨干网IGP协议的鳌头。
但是,忽然有一天,一个不速之客来了。
那就是IPv6。
就在你们都嚷嚷说要上IPv6的时候,两个协议也须要继续跟进。
先说说OSPF。
刚才说过,OSPF若须要新的协议特性和功能,就经过开发LSA类型来解决。
但是此次这方法不灵光了。
为何?
由于OSPF的根是在IPv4上,邻居关系,hello包的组播地址,一切的一切都是以IPv4为基础。
因此OSPF若要新增IPv6的功能,不是简简单单一个LSA就能搞定的问题了。
全部一切都得推倒重来。
因而乎,无奈之下-OSPFv3诞生了。
OSPFv3同时兼容了IPv4和IPv6,虽然很好。
可是它意味着你须要单独在跑一个路由协议,OSPF和OSPFv3是两个独立的协议。
我知道,很疼。
IS-IS,就颇有意思了。
当IS-IS看到OSPF这般难受时,不由大笑。
为什么?
由于IS-IS特殊的身世。
还记得,IS-IS但是诞生于ISO的OSI模型之下,它和后来的IP一点瓜葛都没有。
因此,这是IS-IS的根:OSI网络模型。
后来1990年,IS-IS经过新增一个TLV的方式,把IPv4加进来了。
对他来讲,新增IPv4就是一个TLV而已。
同理,新增IPv6也就是另一个TLV而已。
就由于这样,当你运行IS-IS的时候,你不须要开启任何特殊功能,IS-IS同时兼容IPv4和IPv6。
运营商的同窗们也没有任何心理负担,只须要配置IPv6地址在接口上,立刻就有了一张原生的IPv6网。
怎么一个爽字了得。
这就印证了一句话:风水轮流转,今年到我家
想当年OSPF就由于选择了IPv4做为其基础,今后走向了康庄大道。
但是,有时候你以为,某些东西是你的绝对优点的时候。
某一天,峰回路转,它反而让你步履维艰。
路由协议都是这样。
况且人生呢?
通过一番胡侃瞎聊,相信你就算历来没碰过IS-IS这个协议,如今也有一个大体的了解了。
我也没打算花大篇幅一个个的给你讲IS-IS的诸多细节,内容繁多不说,你看了看可能就半路撤退了,内容没有获取到,反而浪费你宝贵的时间。
授人以鱼不如授人以渔~
好了,轮到你给小伙伴们吹嘘了。。。
内容不够你看,瞅瞅这个:
我还有个专栏~
此专栏经过“网络路由篇”,“网络交换篇”,“网络安全篇”,“QoS篇”四大典型技术模块,分别给各位讲述运维中的网络设计思路和一些运维的技术难题。
知识够广 - 还全是干货。
要不,来一份?
传送门以下: