IS-IS支持:
cisco的IOS如果以j开头支持,k9代表加密。T代表IOS支持一些正在开发的特性,稳定的版本不会有T。

术语
IS是中间系统,其实就是路由器。ES是终端系统。IS-IS指两个路由器之间交流路由信息使用的协议。
TCP/IP网络中,网络层使用的协议是IP,使用的地址是IP地址,服务是IP服务。通过RIP、EIGRP、OSPF做IGP。
OSI网络中,网络层提供的服务叫CLNS服务(ConnectionLess Network Service,无连接网络服务),使用的协议名称叫CLNP(ConnectLess Network Protocol,无连接网络协议)使用的地址叫CLNS地址,是用来标记设备的,无论这台设备有多少个接口都是唯一一个设备,并用这个地址来建立LSDB。通过IS-IS做IGP。
SPF算法其实是通过链路状态,以自己为树根到达其他节点的路径,再通过路由器上的接口信息到达相应的网络。所以IS-IS的效率会比OSPF高,因为IS-IS本身就是要计算到达某个节点的路径的,而不是某个网络。

特点:
1、是一个链路状态路由协议,在ISP使用
2、支持VLSM,链路状态都支持VLSM,因为交换链路状态更新的时候肯定要携带掩码,也不会自动汇总。
3、跟OSPF一样用SPF算法。拥有快速收敛特性。
4、使用hello包来建立邻接关系,使用LSP来交换链路状态信息
5、跟OSPF相比,带宽、内存和处理器的利用率更高
6、支持两层路由:IS-IS虽然有区域号但是这个区域跟OSPF的区域有好大的差异,IS-IS的骨干区域不是通过区域号定义的,是由在很多区域里面的连接成扁长形的区域组成的。

IS-IS的操作形式
L2路由器:相当于OSPF区域0的内部路由器,维护了整个网络的路由信息。
L1路由器:相当于OSPF的普通区域的内部路由器,甚至可以称为是完全末节区域的内部路由器;只有自己区域的路由,要去其他区域只能通过一条缺省路由发给L1-2路由器。维护了区域内部的路由信息
L1-2路由器:相当于OSPF的ABR,它知道如何到达其他区域。维护了自己区域的LSDB和骨干区域的LSDB。
路由器的角色是由管理员定义的,默认为L1-2。

集成的IS-IS路由
1、IS-IS不支持IP路由,只支持OSI的路由。
集成的IS-IS支持IP、CLNS或者两种都支持。(也支持IPv6)
2、RIP把数据封装到UDP里面使用端口520再封IP包、二层帧。EIGRP和OSPF直接封装到IP包里面,再封装成数据帧。IS-IS直接封装到数据链路层里面,不用IP发送。
3、要求CLNS地址,即使只为IP提供路由。这个CLNS地址是用于标记路由器,给SPF算法算路由的。相当于OSPF的router-id。

集成IS-IS网络的设计原则
1、IP和CLNP地址都要配置,IP编址要便于汇总,CLNP编址要能反映路由器的各种信息。
2、两层路由结构,便于收敛便于网络升级。
3、IS-IS也只能在区域间汇总,而且只能手动汇总。

集成IS-IS的问题
1、因为默认度量值为10,工作起来就会跟RIP一样用跳数定义,所以必须根据带宽手动定义度量值。
2、IOS 12.0以前只用6比特定义带宽,可能不能很好反映某些链路的度量值,(例如一条链路带宽为2M,另一条为10G,相差5000倍,但是6比特最小只能定义为1最大为63最多相差63倍不能很好反映网络)12.0以后能用24比特。
3、链路的度量值之和在12.0以前只能是10比特(就是1024),12.0之后度量值之和最大能到32比特。

ES-IS
1、IS之间交流信息的数据包叫IIH
2、IS需要发现主机的时候发送的数据包叫ISH,主机发现路由器用的数据包叫ESH。

四层OSI路由级别
level0:主机跟路由器之间的链路属于这个级别。用于主机跟路由器之间的相互发现,相当于IP网络中的ARP。
level1:区域内部的交流,相当于OSPF的普通区域
level2:不同区域的交流相当于OSPF的骨干区域的交流
level3:不同区域之间的
集成的IS-IS只考虑路由器

IS-IS和OSPF的相同点
由于都是开放式的链路状态,所以它们会有:
1、类似的链路状态描述方式、老化机制、LSDB的同步
2、都使用SPF算法
3、相似的更新、路由决定决定和泛洪处理
可以在服务商网络稳定运行(但OSPF的性能不如IS-IS)
快速收敛:收敛的速度在于路由协议发现网络出现问题的速度。

不同点:
1、OSPF的一个路由器可以属于多个区域,链路必须属于某个区域。IS-IS的路由器只能属于特定的区域,但是链路可以属于不同的区域。
2、OSPF里面所有区域必须连接到区域0,IS-IS定义所有路由器必须连到骨干区域,这个骨干区域不是用区域号定义的,而是由多个区域的多个路由器定义的。
3、OSPF运行的时候会交流大量的LSA,IS-IS运行时交流的是LSP,一个LSA只含有一条路由信息再封装到LSU里面。一个LSP可以包含多条信息,这样就减少了协议的消耗。
4、IS-IS支持TLV的设计结构,OSPF不支持。网络升级的时候,OSPF要开发一套新的软件,IS-IS支持TLV只要更新TLV 。T代表这条信息的类型,L代表长度,表示的是一条信息占用一个LSP的长度,V里面包含的是路由信息的内容。

OSPF的优点:
1、OSPF有大量的特性如区域类型,而且OSPF的代价是由路由协议来定义的
2、多厂商支持
3、工程师较多

OSI的编址
NSAP的地址最大20字节,用16进制数表示,最多40个16进制数。在不同区域不同的网络不同的自治系统地址可能不一样。用高位定义区域用低位定义特定系统或设备。

  +-----------+----------------------------------------+
 

  | IDP     |                    DSP               |
   +-----------+----------------------------------------+
   | AFI | IDI | High-Order DSP    | System ID   |NSEL|
   +-----+-----+--------------------+--------------+----+
   |<-Variable-Length Area Address->|<---6 Bytes-->|1字节|

可变长的部分是区域号码,主机ID表示这台设备是谁,NSEL是服务标识符。NSEL跟上网的时候输入某个IP地址然后输入冒号加某个端口时的端口号对应。
IDP是初始域部分,相当于IP地址中定义的主类网络号。IDP包含AFI(授权和格式标识符,1字节)和IDI(初始域标识符)两部分,IDI往往省略,一般配置AFI为49,代表私有使用。
DSP代表域内自定义部分,在High-Order DSP定义区域号码,在System ID定义区域内不同的设备的具体号码(思科设备要求要用6个字节,其他厂商设备不一定,而且必须全系统唯一)。System ID可选用设备某个端口的MAC地址,或者把IP地址填充为6个字节填上去。
NSAP地址长度可以是8-20个字节。一台设备可以有多个NSAP地址,前面部分不变,用NSEL标识不同的服务。对于路由器定义为00。这种NSEL地址定义为00的地址又称为NET地址。

SNAP地址
Ethernet用MAC地址,帧中继用DLCI号码,串口用的是路由器的名字。

地址划分和路由选择
IP网络中网络地址用于路由器区域间寻址路由,主机地址用于在区域内部寻找MAC地址和IP的对应关系发送。
IS-IS中,当收到一个数据包区域信息跟自己的区域信息不一匹配,那么就不看System ID了,反之根据System ID查找自己的level1 LSDB,对数据包进行转发。

IS-IS的逻辑路由操作
任何路由器先查看区域ID,如果区域ID与本区域一致则使用L1 的LSDB查找路由并转发,如果不匹配,根据L1的LSDB查找到最近的L1-2路由器发送,再由L1-2路由器查找自己的L2 LSDB进行区域间选路发送。

路由泄漏
IS-IS的路由选择模式很容易造成链路不对称,导致数据包去的路跟回来的路不一致。
在IOS12.0以后加入路由泄漏,把L2的路由信息泄漏给L1。

IS-IS PDUs
hello包:IIH,ESH,ISH
LSP:跟OSPF的LSU对应,对应而已
PSNP:部分序列号PDU,当拓扑发生变化,发送这种PDU,做触发更新
CSNP:完全序列号PDU,刚建立邻接关系时,发送这种PDU,把自己全部路由发送给对方。

链路状态描述路由器
TLV:
   Type:说明数据用来描述什么内容,例如IS邻居个数,ES邻居个数,认证信息,连了几个网络。
   Length:说明该TLV的长度
   Value:具体信息
LSP头部:包含PDU类型,整个包长度,LSP ID(跟OSPF里面的sequence number一样),老化时间。。。。
因为LSP有顺序,里面会包含多个TLV,可能TLV数目很多,导致LSP太大,路由器要对LSP分片发送,这样就需要相应的号码对LSP进行同步。LSPs在LSDB里面有一个生命周期,允许同步,而且有个倒计时,计时器变成0的时候没有新信息该条信息删除。

IS-IS的网络类型
只有广播和点到点,遇到帧中继的处理:
1、当全互联并且支持全网状时可以用。在广播模式必须定义CLNS跟IP的映射,而且必须定义广播关键字。
2、使用点到点模式子接口(推荐使用、hello间隔10秒)
由于IS-IS没有点到多点的模式,而广播要求太苛刻,成本太高,于是使用点到点子接口。点到点子接口会造成大量的IP地址浪费,所以ISP核心网络会使用私有地址或IP未编号(借用地址)。
ISP对私有地址的限制:私有地址只在设备间互连使用,而且路由信息只在ISP内部发送,发送给外网的时候过滤。
私有地址对traceroute的影响:发送到外部网络,可能对方会返回一个私有地址,自己的网络可能不能到达。(使用MPLS)

广播模式的操作(LAN或全网状的WAN使用):
会选定一个DIS(相当于OSPF的DR),但是无备份且可抢占。而且网络内部所有路由器之间会建立邻接关系,但是不交流路由信息,路由信息通过DIS发送。
选DIS的步骤:1、建立了邻居关系的路由器才能参加选举
            2、比较端口优先级
            3、比较SNPA
DIS相当于一个多路访问网络的代表。其他网络要是想到达该多路访问网络只要计算到DIS的cost。DIS也会产生该网络的链路状态信息。
每3.3s发送一个hello包,会有n(n-1)/2的邻接关系建立。

level1 和level2 LSP和IIH
1、IS-IS网络里面路由器默认是L1-2路由器,两个路由器之间就可以同时建立level1和level2的邻接关系。两层的邻接关系需要不同LSP交流。DIS会替某个局域网发送LSP1和LSP2。level1和level2可能会选出两个不同的DIS。
2、点到点的网络中会以单播模式发送更新,而且更新没有二层地址。
3、在广播网络以多播形式发送

LSP的泛洪操作跟LSA的泛洪操作是一样的,level1的LSP在level1-2路由器必须停止泛洪,并且把level1的LSP转变成2类的LSP进行发送。level1跟level2的LSDB分离。

前面一直提到的区域必须连续指所有区域的Level1-2路由器必须能连成一直线。

配置步骤:
1、准备工作:IP地址、NET地址
2、启用IS-IS(一个路由器可以启用多个IS-IS进程)
3、定义NET地址(可以定义多个,为了进行网络迁移)
4、在接口上启用

level1-2路由器默认会向所有邻居建立level1跟level2的邻接关系。可以把level1-2路由器的端口配置成level1或者level2 的路由器。
缺省的汇总路由是level2的。