学习笔记: Internet cheat sheets on PacketLife

Stretch@packetlife一直在blog上发布一系列技术Cheat Sheets ── 浓缩式技术笔记,或者是考试前提前准备的小抄。:-D 这些Cheat Sheets涵盖了包括BGP、IS-IS、OSPF、802.11、QoS……甚至Physical Terminations等各方面的内容,每一份都是一到两页纸的PDF文件,是很好的一套个人复习笔记。我个人并没有仔细阅读其中的内容,同时希望对您有所帮助。当然,Stretch所做的远远不止单纯发布学习笔记和Cheat Sheets,相对而言应当说这他的兴趣更为准确。详细的信息请参考Site Transition and Other Stuff.

另外,这些Cheat Sheets的国际版目前也正在寻找志愿协作人员,这里有一个BGP Cheat Sheet的法语版本。目前还没有找到中文简体版本的协作者,Stretch编辑的Cheat Sheets无论从界面,还是实用性上面取决于各人观念差异,相信仍然会吸引很大一部分网络工作人员的眼球。如果您有兴趣,可以联系Stretch,相信他会欢迎您的协助。PS: 考虑到版权原因,请到PacketLife上下载相关的资料,下面是相关资料截图 ──

Protocols – BGP

tn_BGP.pdf

Protocols – IS-IS

tn_IS-IS.pdf

Protocols – OSPF

tn_OSPF.pdf

Protocols – EIGRP / First Hop Redundancy

tn_EIGRP.pdftn_First_Hop_Redundancy.pdf

Protocols – IEEE 802.11 WLAN

tn_IEEE_802.11_WLAN.pdf

Protocols – IEEE 802.1x / IPsec

tn_IEEE_802.1X.pdftn_IPsec.pdf

Protocols – IPv4 Multicast / IPv6

tn_IPv4_Multicast.pdftn_IPv6.pdf

Protocols – Spanning Tree

tn_Spanning_Tree.pdf

Applications – Wireshark Display Filters

tn_Wireshark_Display_Filters.pdf

Reference – tcpdump / IOS IPv4 Access Lists

tn_tcpdump.pdftn_IOS_IPv4_Access_Lists.pdf

Reference – IPv4 Subnetting / Common Ports

tn_IPv4_Subnetting.pdftn_common-ports.pdf

Technologies – QoS

tn_QoS.pdf

Technologies – Frame Mode MPLS / VLANs

tn_Frame_Mode_MPLS.pdftn_VLANs.pdf

Miscellaneous – Cisco IOS Versions / Physical Terminations

tn_Cisco_IOS_Versions.pdftn_physical-terminations.pdf

Miscellaneous – Markdown / MediaWiki

tn_Markdown.pdftn_MediaWiki.pdf

IS-IS多区域间(Multi-levels)寻址与路由

is-is-inter-levels-addressing-and-routing
作为大型IP骨干网路由协议,从运营角度而言,IS-IS并没有被硬性规定为需要被划分成多个levels,从而实现inter-levels路由。实际上,考虑到由于路由汇总以及IS-IS通过查找域内最短路径到达Level 1/2路由器作为域间数据包出口,所可能带来的次优路径问题,在铺设的初步阶段,我们更建议首先建立单区域IS-IS路由Domain,然后在下一步再根据网络需求将更多的levels添加到IS-IS AS当中。同时,正如将OSPF划分为多个区域一样,将IS-IS从单区域托展为多区域架构一方面源于路由器内存,CPU利用率等性能因素;而另一方面则是对路由规划与策略上的考虑。通过R7到R9的转发流程,我们举例说明IS-IS多区域间(Multi-levels)寻址与路由。

  1. R7发现到达目标R9的前缀(49.00CC)与本地IS前缀(49.00BB)并不相同,因此R7将数据包转发至域内最相近的IS-IS Level 1/2路由器R5上。此时,R7使用ISIS Level-1数据库查询到达R5的最佳路径,当IS-IS路由器查询Level-1数据库的时候,仅有NET地址内的System ID段被纳入考虑范围。
  2. R5从R7接收到数据包后,查询本地Level-2数据库以确定到达49.000CC的最短路径。此时,IS-IS域间路由选择并不基于NET地址内的System ID段,而是Area ID段,数据包被转发至R3。
  3. R3从R5接收到数据包后,查询本地Level-2数据库以确定到达49.000CC的最短路径。此时,IS-IS域间路由选择并不基于NET地址内的System ID段,而是Area ID段,数据包被转发至R1。
  4. R1从R3接收到数据包后,查询本地Level-2数据库以确定到达49.000CC的最短路径。此时,IS-IS域间路由选择并不基于NET地址内的System ID段,而是Area ID段,数据包被转发至R8。
  5. R8发现到达目标R9的前缀(49.00CC)与本地IS前缀(49.00CC)相同,因此,R8使用IS-IS Level-1数据库查询到达R9的最佳路径,当IS-IS路由器查询Level-1数据库的时候,仅有NET地址内的System ID段被纳入考虑范围。

JUNOS IS-IS链路状态数据库LSP TLVs类型描述 总结

junos-is-is-database-lsp-tlvs-summary
本来还在考虑如何写IS-IS中各种数据包及TLVs类型格式的总结,Juniper的几页IS-IS Routing Protocol Quick Reference倒真是为我省下了不少功夫。 尽管是厂商资料,然而对于Cisco IOS应该同样适用。里面除了详尽列举了IS-IS PDU Field Definitions以外,还详尽列举了IS-IS的各种PDU以及TLVs类型的报文格式,包括:

Level 1 LAN IS-IS Hello PDU, Level 2 LAN IS-IS Hello PDU, Level 1 Link State PDU, Level 2 Link State PDU,Level 1 Complete Sequence Numbers PDU, Level 2 Complete Sequence Numbers PDU, Point-to-Point IS-IS Hello PDU, Level 1 Partial Sequence Numbers PDU, Level 2 Partial Sequence Numbers PDU,

TLV 1, TLV 2, TLV 6, TLV 8, TLV 9, TLV 10, TLV 12, TLV 22, TLV 128, TLV 129, TLV 130, TLV 132, TLV 134, TLV 135, TLV 137, TLV 222, TLV 229, TLV 232, TLV 235, TLV 236, 以及TLV 240.

Enjoy it.

Juniper实验: JUNOS IS-IS Small/Wide Metrics对比

junos-is-is-small-wide-metricsyoutube

JUNOS IS-IS Small/Wide Metrics – TLVs类型描述 Final

点击上文↑链接至YouTube收看高清版本实验视频

这是我们基于JUNOS 101网络拓扑图所完成的最后一节Juniper IS-IS路由协议配置实验。我们依然延续IS-IS TLVs作为学习IS-IS路由协议的线索。这次介绍的IS-IS TLVs类型分别为TLV #2, TLV #128, TLV #130, TLV #22, 以及TLV #135。其中,Small Metrics是后来想到的相对于IS-IS中Wide Metrics的称谓,视频中我用了一个别扭的Narrow Metrics,实际上指的都是IS-IS以TLV #2, TLV #128, TLV #130形式发送出去的路由信息。由于TLV #2在之前的JUNOS IS-IS链路状态数据库LSP TLVs类型描述第一部分已经讲过,这里我们便从TLV #128开始。

IS-IS TLV #128(IP Internal Reachability): IP内部可达性信息

TLV #128属于IS-IS Small Metrics,每台IS-IS路由器都会将本地直连的IP网段前缀信息封装到TLV #128内进行通告。由于IS-IS Small Metrics被限制为6-Bits长度,因此使用TLV #128通告的IP网段,其Metric取值范围是0-63。不过,对于接收Small Metrics的IS-IS路由器而言,63仅仅为每条IS-IS Small Metrics路由从本地接口被叠加并通告出去的最大值,而并非IS-IS Small Metrics路由经过逐跳Metrics叠加以后,计算出的最大值。我们将R1的环回接口lo0.1的本地Level-1 Metrics设置为2,000。为了能更好的过渡到本实验中,我先列出更为详尽的配置信息。

[edit logical-routers]
nigel@junos# show r1 protocols isis
level 1 {
    authentication-key "$9$fQ39SyKv87cy"; ## SECRET-DATA
    authentication-type md5; ## SECRET-DATA
}
level 2 disable;
interface fxp1.12 {
    level 2 disable;
    level 1 {
        hello-authentication-key "$9$cfdSvLdVYoZjs2";
        ## SECRET-DATA
        hello-authentication-type simple;
        ## SECRET-DATA
    }
}
interface lo0.1 {
    passive;
    level 1 metric 2000;
}

此时我们可以发现,R1的lo0.1接口所连接的10.0.6.1/32网段,在R1的IS-IS数据库中被TLV #128限制为63的最大Metrics值。注意我这里连续用了两个Pipe导出符

[edit logical-routers]
nigel@junos# run show isis database logical-router r1
extensive | find TLV | match 10.0.6.1

IP router id: 10.0.6.1
IP address: 10.0.6.1
IP prefix: 10.0.6.1/32, Internal, Metric: default 63, Up
IP extended prefix: 10.0.6.1/32 metric 63 up

而当我们查看对端IS-IS路由器R2路由表的时候,可以发现10.0.6.1/32网段在R2上的Metric值为R1通告出来的Small Metrics最大值63,然后R2再累加上R1与R2之间的Level-1链路的IS-IS默认开销值10,因此该路由的Metrics总和为73。因此,对于IS-IS的Small Metrics路由而言,每条路由总的Metrics值最大取值为1023

[edit logical-routers]
nigel@junos# run show route logical-router r2 10.0.6.1/32                 

inet.0: 8 destinations, 8 routes (8 active, 0 holddown,
 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.6.1/32        *[IS-IS/15] 00:25:47, metric 73
                    > to 10.0.4.5 via fxp2.12

IS-IS TLV #130(IP External Reachability): IP外部可达性信息

TLV #130属于IS-IS Small Metrics,每台IS-IS路由器都会将本地产生的,从外部路由协议进入IS-IS的路由,通过TLV #130通告进入IS-IS Routing Domain,由于同属IS-IS Small Metrics63最大值规则对于TLV #130同样适用。

IS-IS TLV #22(Extended IS Reachability) – 扩展的邻接IS-IS路由器可达性信息

相对于Small MetricsTLV #2,JUNOS默认要求每台IS-IS路由器同时通过TLV #22通告Wide Metrics的与本地IS-IS路由器所邻接的其他IS-IS路由器信息。同时,在Juniper路由上,IS-IS TLV #22包含TLV #6TLV #8两种类型的Sub TLVs,分别标识该邻接关系的本地邻居端接口的IP地址。在随后的发布的文档中,我会对之前提及的几种常见TLVs类型做一次小结。

IS-IS TLV #135(Extended IP Reachability) – 扩展的IP内/外部可达性信息

正如幻灯片所提示,相对于Small MetricsTLV #128以及TLV #130,IS-IS将他们统一采用TLV #135作为内部IP路由以及外部IP路由的Wide Metrics可达性信息通告。在JUNOS中,对TLV #135而言,并不存在内部路由或者外部路由之间的区分。因此,当激活Level-1的wide-metrics-only以后,原本通过TLV #130标识并被限制在Level-1区域以内而无法进入Level-2骨干区域的IS-IS外部路由。这时边界L1/L2路由器将失去辨别将全部路由泄露进入Level-2骨干区域当中。当然,你可以通过设置IS-IS Level-1Level-2的过滤策略避免这种情况发生。因此,也有人将IS-IS的Level-1区域与OSPF的NSSA相提并论。另外,IS-IS Wide Metrics使用24-bits长度,每条IS-IS Wide Metrics的路由不存在每跳添加限制值,而累加最大Metric值则被扩展至16,777,215

配置JUNOS IS-IS wide-metrics-only

我们修改R1的IS-IS路由协议配置,将R1的Level-1 IS-IS协议设置为wide-metrics-only

[edit logical-routers]
nigel@junos# set r1 protocols isis level 1
wide-metrics-only 

[edit logical-routers]
nigel@junos# commit
commit complete

重新查看R1的IS-IS数据库,可以发现R1仅向外通告10.0.6.1/32网段的Wide Metrics TLV #130,并且应用之前配置的Metrics值2,000;而TLV #128则从R1的IS-IS Level-1数据库中消失。

[edit logical-routers]
nigel@junos# run show isis database logical-router r1
extensive | find TLV | match 10.0.6.1 

IP router id: 10.0.6.1
IP address: 10.0.6.1
IP extended prefix: 10.0.6.1/32 metric 2000 up

重新查看R2的IS-IS路由表,10.0.6.1/32网段路由的Metrics值由原先的73现在被扩展为2,010

[edit logical-routers]
nigel@junos# run show route logical-router r2 10.0.6.1/32    

inet.0: 8 destinations, 8 routes (8 active, 0 holddown,
0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.6.1/32        *[IS-IS/15] 00:02:05, metric 2010
                    > to 10.0.4.5 via fxp2.12

OSPF到IS-IS术语对比及概念切换 – IS-IS快捷参考03

is-is-and-ospf-a-comparative-anatomy-01
05年出版的《OSPF and IS-IS: Choosing an IGP for Large-Scale Networks》一书中,作者Jeff Doyle用了两张对OSPF与IS-IS术语及数据包功能对照表格,简练的让读者能够更快的从一直以来较为熟悉的OSPF切换到稍微陌生的IS-IS路由协议概念上去。由于OSPF与IS-IS源于不同的互联网标准化组织 (IETF与ISO),对于相同的事物,OSPF与IS-IS往往使用了不一样的术语进行定义。当IS-IS被集成到TCP/IP协议后,原用于描述CLNS/CLNP网络的术语却依然被沿用了下来,这点从另一方面而言成为网络工程师学习IS-IS路由协议的门槛。因此,我把这两张表格做成幻灯片放上来,希望能对IS-IS路由协议的初学者有所帮助。

其中,Router (路由器或者网关: Gateway)是两者最常见的区别,IETF的Router在ISO里面被称作Intermediate System (中间系统: IS),而Host (主机) 则相应的被称作End System (ES)。对于CLNS/CLNP网络而言,ES与IS即主机与本地网关之间的路由协议被定义为ES-IS,而路由器 (网络节点) 与路由器之间的路由协议便很自然的被称为IS-IS。而传统上,ES-IS往往被认为是Level-0的IS-IS Routing;与OSPF一样,IS-IS内的路由器也根据不同的区域划分开来,那么在同一个区域内交换路由的IS-IS路由被称为Level-1 IS-IS Routing,而在不同的区域间交换的IS-IS路由被称为Level-2 IS-IS Routing。由于在TCP/IP的路由环境中我们主要考虑路由器与路由器之间的的路由信息交换,因此集成到TCP/IP协议中的Integrated IS-IS往往只考虑Level-1与Level-2路由。对于链路状态路由协议,Router ID用于标识路由器本身尤为重要,而IS-IS也相应的通过System ID标识自身在整个链路状态路由网络内的位置。

如果你用兴趣继续了解,可以通过本文末尾的导航到Safari Books Online上阅读或下载该书的其他章节。

is-is-and-ospf-a-comparative-anatomy-02

《OSPF和IS-IS:为大型网络选择IGP》与作者Jeff Doyle

jdoyleJuniper网络公司的Jeff Doyle已经设计或帮助设计了北美洲、欧洲、日本、韩国和中国的多个大型网络。他的专业领域是IP路由协议、MPLS和IPv6。他还撰写了极受欢迎的其它网络书籍如《Routing TCP/IP, Volume I》,《Routing TCP/IP, Volume II》以及《Juniper Networks Routers: The Complete Reference》主持了Juniper网络公司的多场企业研讨会,并在NANOG< JANOG< APRICOT和IPv6论坛的会议上发言。

Jeff Doyle在参与设计大型网络方面拥有丰富的经验,能够为链路状态协议的各个方面提供切实的建议和确定的答案,包括可扩展性、可靠性和安全性,以及区域设计和数据库同步。这些知识正迅速成为在大型IP企业、运营商和服务供应商网络中使用OSPFIS-IS协议的权威指南。

Doyle先生耐心地论述了在OSPF中如何实施各个主题和特性,然后介绍了采用IS-IS协议的类似实施项目。不熟悉大型网络的专业人员对他关于链路状态协议概念、目标和历史的实用介绍非常欢迎。对于希望通过CCIEJNCIE认证的人员,Doyle先生全面的解释、每章后的测验题以及针对Cisco IOS和Juniper网络公司JUNOS的大量实例也使本书成为其宝贵的资源。

《OSPF and IS-IS: Choosing an IGP for Large-Scale Networks》

  1. The Roots of Link State Protocols
  2. Link State Basics
  3. OSPF and IS-IS: Message Types
  4. OSPF and IS-IS: Addressing, Neighbor Discovery, and Adjacencies
  5. OSPF and IS-IS: Flooding
  6. OSPF and IS-IS: Link State Database Synchronization
  7. OSPF and IS-IS: Area Design
  8. OSPF and IS-IS: Scaling
  9. OSPF and IS-IS: Security and Reliability
  10. OSPF and IS-IS: Extensibility
  11. OSPF and IS-IS: Extensions for MPLS Traffic Engineering
  12. OSPF and IS-IS: Extensions for IPv6
  13. OSPF and IS-IS: Extensions for Multi-Topology Routing

JUNOS IS-IS Hello及CSNP/PSNP认证 – TLV类型#10

junos-isis-csnp-psnp-and-iih-authentication-tlv-10
youtube

JUNOS IS-IS CSNP/PSNP与IIH认证 – TLVs类型描述 Part2

点击上文↑链接至YouTube收看高清版本实验视频

youtube

JUNOS IS-IS CSNP/PSNP与IIH认证 – TLVs类型描述 Part3

点击上文↑链接至YouTube收看高清版本实验视频

IS-IS支持明文以及MD5加密认证,并且使用TLV #10通告相关认证信息,根据启用的认证类型,认证信息被encoded到各种LSP当中。承接之前第一部分,我们在R1上同时启用level-1上的CSNP/PSNP以及Hello认证;而仅仅在R2上启用level-1上的hello认证。IS-IS Hello认证信息被封装到IIH内。注意除了no-authentication-check全局关闭认证以外,在Juniper路由器上使用JUNOS配置IS-IS认证均基于per-interface/per-level层次定义。

JUNOS IS-IS Hello及CSNP/PSNP认证配置 – R1

[edit logical-routers]
nigel@junos# show r1 protocols isis
level 1 {
    authentication-key "$9$fQ39SyKv87cy"; ## SECRET-DATA
    authentication-type md5; ## SECRET-DATA
}
interface fxp1.12 {
    level 2 disable;
    level 1 {
        hello-authentication-key "$9$cfdSvLdVYoZjs2";
        ## SECRET-DATA
        hello-authentication-type simple;
        ## SECRET-DATA
    }
}
interface lo0.1 {
    passive;
}

JUNOS IS-IS Hello及CSNP/PSNP认证配置 – R2

[edit logical-routers]
nigel@junos# show r2 protocols isis
level 1 {
    no-csnp-authentication;
    no-psnp-authentication;
}
interface fxp2.12 {
    level 2 disable;
    level 1 {
        hello-authentication-key "$9$hFacK8-ds4JDwY";
        ## SECRET-DATA
        hello-authentication-type simple;
        ## SECRET-DATA
    }
}
interface lo0.2 {
    passive;
}

完成配置并重置IS-IS数据库后,可以发现R1与R2之间由于启用了相同密码的明文认证,因此它们仍然能保持IS-IS邻接关系。

[edit logical-routers]
nigel@junos# run clear isis database logical-router r1  

[edit logical-routers]
nigel@junos# run clear isis database logical-router r2  

[edit logical-routers]
nigel@junos# run show isis adjacency logical-router r2
Interface System         L State Hold (secs) SNPA
fxp2.12   1111.1111.1111 1 Up            21  0:0:0:0:0:0

而我们对比R1与R2的路由表便能发现,由于R2关闭了level-1上的CSNP/PSNP认证,因此从R2通过level-1链路发送至R1上的路由信息,并未被允许进入R1路由表。同时另外一方面,携带者level-1认证信息的,从R1发送出来的路由信息,依然能够进入R2路由表内。

[edit]
nigel@junos# run show route logical-router r1 protocol
isis 

inet.0: 5 destinations, 5 routes (5 active, 0 holddown,
0 hidden)

iso.0: 1 destinations, 1 routes (1 active, 0 holddown,
0 hidden)

[edit]
nigel@junos# run show route logical-router r2 protocol
isis 

inet.0: 8 destinations, 8 routes (8 active, 0 holddown,
0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.6.1/32        *[IS-IS/15] 00:00:03, metric 10
                    > to 10.0.4.5 via fxp2.12

iso.0: 1 destinations, 1 routes (1 active, 0 holddown,
0 hidden)

进一步,我们在R2上使用不同的源地址向R1的环回接口10.0.6.1发送ICMP包也得到截然不同的结果。

[edit]
nigel@junos# run ping 10.0.6.1 logical-router r2 rapid
PING 10.0.6.1 (10.0.6.1): 56 data bytes
!!!!!
--- 10.0.6.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.399/0.447/0.509/0.040ms

[edit]
nigel@junos# run ping 10.0.6.1 logical-router r2 source
10.0.6.2 rapid
PING 10.0.6.1 (10.0.6.1): 56 data bytes
.....
--- 10.0.6.1 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet
loss

JUNOS IS-IS链路状态数据库LSP TLVs类型描述 Part1

junos-is-is-database-link-state-pdu-tlvs
youtube

JUNOS IS-IS链路状态数据库LSP TLVs类型描述 Part1

点击上文↑链接至YouTube收看高清版本实验视频

与OSPF不同,在正式开始JNCIP的IS-IS实验演示以前,我预先发布了几篇文档作为铺垫。在我昨天发布的JUNOS IS-IS路由协议单区域配置实验基础上,我们进一步探讨JUNOS IS-IS数据库中所产生的各种TLV类型的相关信息。在这里顺便感谢一下Darwin-IT为我解决了这几天来VMware Fusion内部网卡一直无法连接的问题。在第一部分我们先对IS-IS的TLV #1, TLV #2, TLV #129, TLV #134, TLV #132, TLV #137进行研究。除了直接查看IS-IS链路状态数据库以外,在Juniper路由器平台上,你也可以使用JUNOSmonitor traffic interface命令来捕获IS-IS路由协议在网络上泛洪的TLV,IS-IS Hello包内NET各字段长度,以及DIS优先级等信息。

nigel@junos> monitor traffic interface fxp1 extensive
Listening on fxp1, capture size 96 bytes

00:03:47.110641 Out 0:a0:c9:2e:7e:9 1:80:c2:0:0:14 8100
77: VID [0:  12] IS-IS, length: 56
	L1 Lan IIH, hlen: 27, v: 1, pdu-v: 1, sys-id-len: 6
	(0), max-area: 3 (0)
	0x0000: 831b 0100 0f01 0000
	  source-id: 1111.1111.1111,  holding time: 27s,
	  Flags: [Level 1 only]
	  lan-id:    2222.2222.2222.02, Priority: 64,
	  PDU length: 56
	  0x0000: 0111 1111 1111 1100 1b00 3840 2222 2222
	  0x000f: 2222 02
	    IS Neighbor(s) TLV #6, length: 6
	      SNPA: 00a0.c993.9de7
	      0x0000: 00a0 c993 9de7
	    Protocols supported TLV #129, length: 2
	      NLPID(s): IPv4 (0xcc), IPv6 (0x8e)
	      0x0000: cc8e
	    IPv4 Interface address(es) TLV #132, length: 4
	      IPv4 interface address: 10.0.4.5
	      0x0000: 0a00 0405
	    Area address(es) TLV #1, length: 4
	      Area address (length: 3): 49.0001
	      0x0000: 0349 0001
	    Restart Signaling TLV #211, length: 3
	      Flags [none], Remaining holding time 0s
	      0x0000: 0000 00

IS-IS TLV #1(Area Address): 区域地址

每台IS-IS路由器都会在level-1和level-2 LSP上通告TLV #1,用于标识本地IS所在的区域号,每台IS-IS路由器最多能够同时配置3个区域号码(Area Address)。与实验演示内容有所出入,在我们的幻灯片中显示本地IS所在的区域号为49.0002,区域号长度为3 bytes.

IS-IS TLV #2(IS Reachability): 邻接IS-IS路由器可达性信息

每台IS-IS路由器都会在LSP上通告TLV #2,用于通告与本地IS-IS路由器所邻接的其他IS-IS路由器信息。TLV #2属于small metric,因此所通告的到达邻接IS-IS路由器的metric取值范围为063。在我们的幻灯片中,本地路由器所邻接的IS-IS路由器为一台主机名被配置为Sydney的路由器,而到达该路由器的metric值为默认10

另外,稍微应该注意的是TLV #2TLV #6之间的区别。尽管两者都用于通告IS Reachability信息,然而,一方面TLV #2仅在Link State PDU(LSP)内通告;而TLV #6仅在IS-IS Hello PDU(IIH)内被独立抽取通告,因此你可以在上面的流量捕获代码中发现TLV #6。而更重要的是TLV #2small metric类型的IS Reachability,而与其对应的wide metric类型的IS Reachability TLV是TLV #22TLV #6仅仅是TLV #22里面的其中一种sub-TLV。与TLV #6类似的sub-TLV还包括TLV #8

IS-IS TLV #129(Protocols Supported): IS-IS支持协议簇

每台IS-IS路由器都会在所有的LSP上通告TLV #129,用于通告本地IS-IS路由器所支持的三层协议信息。正如幻灯片中所示,Juniper路由器默认同时打开对IPv4IPv6协议的支持。所以到目前为止IS-IS是天然支持IPv6的链路状态路由协议,这也是为何近几年人们总是不断在谈论从OSPF过渡至IS-IS的原因之一。

IS-IS TLV #134(TE IP Router ID): 流量工程IP路由器ID

默认情况下,JUNOS已经为IS-IS打开对Traffic Engineering(流量工程)的支持,通过TLV #134,本地路由器ID被安装进入TED数据库使用。在我们的幻灯片中,本地IS-IS路由器选择10.0.3.3作为TED内的Router ID。

IS-IS TLV #132(IP Interface Address): IP接口地址

每台IS-IS路由器都会在所有的LSP上通告TLV #132,用于标识本地路由器接口IP地址信息。每台IS-IS路由器至少需要具备一个IP地址信息被通告出去。同样,默认情况下JUNOS选择环回接口上的Primary IP地址通告,因此大部分情况下与TLV #134的IP Router ID相同。在我们的幻灯片中TLV #132同样选择10.0.3.3作为IP接口地址。

IS-IS TLV #137(Dynamic Host Name): 动态主机名映射

每台IS-IS路由器都会将它们被配置的主机名通过TLV #137通告给网络上其他IS-IS路由器,实现主机名到System ID之间的映射。从而使得阅读IS-IS路由协议工作状态信息变得更为直观。在我们的幻灯片中本地路由器的主机名称被配置为Hongkong