IS-IS 知识点回顾 | 数据包泛洪控制 | SRM SSN
注:机翻,未校。
Introduction to ISIS
SI-E Workshop
AfNOG 2012 - The Gambia
Noah Maina
IS-IS Standards History
ISIS 标准历史
-
ISO 10589 specification that defines IS-IS as an OSI routing protocol for CLNS traffic.
ISO 10589 规范将 ISIS 定义为用于无连接网络服务(CLNS)流量的 OSI 路由协议。A Link State protocol with a 2 level hierarchical architecture.
一种具有两级层次结构的链路状态协议。With Type/Length/Value (TLV) options for protocol enhancements.
具有用于协议增强的类型/长度/值(TLV)选项。 -
The RFC 1195 added Support for IP. Thus Integrated IS-IS.
RFC 1195 增加了对 IP 的支持,即集成 ISIS(Integrated IS-IS)。I/IS-IS runs on top of the Data Link Layer or rather L2.
I/IS-IS 在数据链路层(即 L2)之上运行。Requires CLNP (Connectionless Network Protocol) to be configured.
需要配置无连接网络协议(CLNP)。 -
RFC5308 adds IPv6 address family support to IS-IS.
RFC5308 为 ISIS 添加了 IPv6 地址族支持。 -
RFC5120 defines Multi-Topology concept for IS-IS. Permits IPv4 and IPv6 topologies which are not identical.
RFC5120 为 ISIS 定义了多拓扑概念,允许 IPv4 和 IPv6 拓扑不相同。
ISIS Levels
ISIS 级别
-
ISIS has a 2 layer hierarchy;
ISIS 具有两层层次结构;Level-1 (the areas)
一级(区域)Level-2 (the backbone)
二级(骨干) -
A router can be either;
路由器可以是;Level-1 (L1) router
一级(L1)路由器Has neighbours only on the same area. Has a level-1 LSDB with all routing information for the area.
仅在同一区域内有邻居。具有包含该区域所有路由信息的一级链路状态数据库(LSDB)。Level-2 (L2) router
二级(L2)路由器May have neighbours in the same or other areas. Has a Level-2 LSDB with all routing information about inter-area.
可能在同一或其他区域有邻居。具有包含所有区域间路由信息的二级 LSDB。Level-1-2 (L1L2) router
一级 - 二级(L1L2)路由器May have neighbours on any area. Has two separate LSDBs: level-1 LSDB & level-2 LSDB.
可能在任何区域有邻居。具有两个独立的 LSDB:一级 LSDB 和二级 LSDB。
骨干与区域
-
ISIS does not have a backbone area as such (like OSPF typical area 0).
ISIS 不像 OSPF 那样有特定的骨干区域(如 OSPF 的典型区域 0)。 -
Instead the backbone is the contiguous collection of Level-2 capable routers.
相反,骨干是由具有二级能力的路由器连续组成的集合。 -
ISIS area borders are on the wire or rather links and not routers.
ISIS 区域边界在链路上,而不是在路由器上。 -
Each router is identified with a unique Network Entity Title (NET).
每个路由器都用唯一的网络实体标题(NET)标识。NET is a Network Service Access Point (NSAP) where the n-selector is 0.
NET 是网络服务接入点(NSAP),其中 n - 选择器为 0。(Compare with each router having a unique Router-ID with IP routing protocols)
(与 IP 路由协议中每个路由器具有唯一的路由器 ID 相比较)
L1, L2, and L1L2 Routers
NSAP and Addressing
NSAP 和寻址
-
NSAP: Network Service Access Point.
NSAP:网络服务接入点。Total length between 8 and 20 bytes.
总长度在 8 到 20 字节之间。Area Address: variable length field (up to 13 bytes).
区域地址:可变长度字段(最多 13 字节)。System ID: defines either an ES or IS in an area.
系统 ID:定义区域内的端系统(ES)或中间系统(IS)。NSEL: N-selector. identifies a network service.
NSEL:N - 选择器,用于标识网络服务。 -
NET: The address of the network entity itself. Example 47.0001.aaaa.bbbb.cccc.00, where:
NET:网络实体本身的地址。例如 47.0001.aaaa.bbbb.cccc.00,其中:Area Address = 47.0001
区域地址 = 47.0001SysID = aaaa.bbbb.cccc
系统 ID = aaaa.bbbb.ccccNsel = 00
NSEL(Network Service Access Point Selector)
NSEL 是 NSAP 地址的一部分:在网络通信中,NSAP(Network Service Access Point)地址用于在 OSI 网络模型中标识网络服务访问点。NSEL 是 NSAP 地址的一个组成部分,它的主要作用是在同一网络层实体上区分不同的服务或用户,就像在传输层中 TCP/UDP 端口号用于区分不同的应用程序进程一样。不过,NSEL 工作在网络层,而 TCP/UDP 端口号工作在传输层。- NSEL = 0x00:当 NSEL 的值为 0x00 时,它表示的是网络实体(NET)本身,代表的是网络层协议的实现,而不是指向特定的服务或用户。这是一种特殊的标识,用于一些与网络层自身相关的操作和功能,比如网络层协议的初始化、网络拓扑信息的交换等。
- NSEL ≠ 0x00:当 NSEL 的值不等于 0x00 时,它就指向了特定的服务或用户。在这种情况下,网络层可以根据 NSEL 的值将数据报转发到相应的服务或用户,从而实现了在网络层对不同服务或用户的区分和管理。
Typical NSAP Addressing
Addressing Common Practices
寻址常见做法
-
ISP’s typically choose NSAP addresses thus:
ISP 通常这样选择 NSAP 地址:First 8 bits – pick a number (usually 49).
前 8 位 - 选择一个数字(通常是 49)。Next 16 bits – area.
接下来的 16 位 - 区域。Next 48 bits – router loopback address (BCP).
接下来的 48 位 - 路由器环回地址(BCP)。Final 8 bits – zero.
最后 8 位 - 零。 -
Example:
例如:NSAP: 49.0001.1921.6800.1001.00
Router: 192.168.1.1 (loopback) in Area 1
路由器:区域 1 中的 192.168.1.1(环回)
Addressing & Design Practices
寻址与设计实践
ISP typically use one area (eg.49.0001).
ISP 通常使用一个区域(例如 49.0001)。
Multiple areas only come into consideration once the network is several hundred routers big.
只有当网络中有数百个路由器时才考虑多个区域。
NET begins with 49. “Private” address range.
NET 以 49 开头,“私有”地址范围。
All routers are in L2 only (Core Network).
所有路由器都仅处于 L2(核心网络)。
Note: Cisco IOS defaults to L1L2.
注意:Cisco IOS 默认是 L1L2。
Set L2 under ISIS router configuration (can also be done per interface).
在 ISIS 路由器配置下设置 L2(也可按接口设置)。
Adjacencies – Hello PDU (IIS)
邻接 - Hello PDU(IIS)
-
Hello Protocol Data Units (PDUs) are exchanged between routers.
路由器之间交换 Hello 协议数据单元(PDU)。 -
Typically to establish and maintain adjacencies between IS’s.
通常用于在中间系统之间建立和维护邻接关系。
-
IS-IS area addresses are also exchanged in this IIH PDUs.
IS-IS 区域地址也在这种 IIH PDU 中交换。 -
A PDU is an IS-IS equivalent of a packet
PDU 是 ISIS 中的数据包等效物。
Link State PDU (LSP)
链路状态 PDU(LSP)
-
Each router creates an LSP and floods it to neighbours.
每个路由器创建一个 LSP 并将其泛洪到邻居。 -
A level-1 router will create level-1 LSP(s).
一级路由器将创建一级 LSP。 -
A level-2 router will create level-2 LSP(s).
二级路由器将创建二级 LSP。 -
A level-1-2 router will create
一级 - 二级路由器将创建Independent level-1 LSP(s) and
独立的一级 LSP 和Independent level-2 LSP(s)
独立的二级 LSP
ISIS LSP
-
LSPs have a Fixed Header and TLV coded contents.
LSP 具有固定报头和 TLV 编码内容。 -
Typically an LSP header contains
通常,LSP 报头包含LSP-id Sequence number
LSP - id 序列号Remaining Lifetime Checksum
剩余生存时间 校验和Type of LSP (level-1, level-2)
LSP 类型(一级、二级)Attached bit
附加位Overload bit
过载位 -
The LSP contents are coded as TLV (Type, Length, Value) and contain;
LSP 内容以 TLV(类型、长度、值)编码并包含;Area addresses
区域地址IS neighbours
中间系统邻居Authentication Information
认证信息
Link State Database Content
链路状态数据库内容
Each IS maintains a separate LSDB for either level-1 or level-2 LSPs.
每个中间系统为一级或二级 LSP 维护一个单独的 LSDB。
-
The LSDB contains:
LSDB 包含:LSP headers and contents
LSP 报头和内容SRM = Send Routing Message
SRM = 发送路由消息SSN = Send Sequence Number
SSN = 发送序列号SRM bits: set per interface when a router has to flood an LSP through that interface.
SRM 位:当路由器必须通过某个接口泛洪 LSP 时,在每个接口上设置。SSN bits: set per interface when router has to send a PSNP for this LSP.
SSN 位:当路由器必须为此 LSP 发送 PSNP 时,在每个接口上设置。
Flooding of LSPs
泛洪 LSP
-
New LSPs are flooded to all neighbors.
新的 LSP 被泛洪到所有邻居。 -
All IS’s get all LSPs.
所有中间系统都接收所有 LSP。 -
Each LSP has a sequence number.
每个 LSP 都有一个序列号。 -
There are 2 kinds of flooding:
有两种泛洪方式:Flooding on a point to point link and
在点对点链路上泛洪和Flooding on a LAN
在局域网上泛洪
Flooding on a p2p link
在 p2p 链路上泛洪
-
Once the adjacency is established either routers send CSNP packet.
一旦邻接关系建立,任何一个路由器都会发送 CSNP 数据包。 -
And in case of any missing LSP’s, if not present in the received CSNP both routers would send a request!!!
如果有任何缺失的 LSP,且在接收到的 CSNP 中不存在,两个路由器都会发送请求!!!! -
This is done through a PSNP packet request.
这是通过 PSNP 数据包请求完成的。 -
PSNP (Partial Sequence Number PDU)
PSNP(部分序列号 PDU) -
CSNP (Complete Sequence Number PDU)
CSNP(完整序列号 PDU)
Flooding on a LAN
在 LAN 上泛洪
-
Each LAN has a Designated Router (DIS).
每个局域网都有一个指定路由器(DIS)。 -
The DIS has two tasks
DIS 有两个任务Conducting LSP flooding over the LAN
在局域网上进行 LSP 泛洪Creating and updating a special LSP describing the LAN topology (Pseudo-node LSP)
创建和更新描述局域网拓扑的特殊 LSP(伪节点 LSP) -
DIS election is based on priority.
DIS 选举基于优先级。Best practice is to select two routers and give them higher priority.
最佳实践是选择两个路由器并赋予它们更高的优先级。Thus, in case of any failure one provides deterministic backup for the other.
因此,在发生任何故障时,一个为另一个提供确定性备份。DIS Tie breaker is router with the highest MAC address.
DIS 选举决出具有最高 MAC 地址的路由器。 -
DIS conducts the flooding over the LAN.
DIS 在局域网上进行泛洪。 -
DIS multicasts CSNP every 10 seconds.
DIS 每 10 秒多播一次 CSNP。 -
All routers on the LAN check the CSNP against their own LSDB.
局域网上的所有路由器都根据自己的 LSDB 检查 CSNP。 -
In case of any missing content withing the LSP, the IS may request for specific re-transmissions of uptodate LSP’s via a PSNP request.
如果 LSP 中有任何缺失内容,中间系统可以通过 PSNP 请求特定的最新 LSP 重传。
Complete Sequence Number PDU
完整序列号 PDU
-
Used to distribute a routers complete link-state database.
用于分发路由器的完整链路状态数据库。 -
If the LSDB is large, multiple CSNPs are sent.
如果 LSDB 很大,则发送多个 CSNP。 -
Used on 2 occasions:
用于两种情况:Periodic multicast by DIS (every 10 seconds) to synchronise the LSDB over LAN subnets.
DIS 定期多播(每 10 秒)以在局域网子网上同步 LSDB。On p2p links when link comes up.
在点对点链路连接时。
Partial Sequence Number PDUs
部分序列号 PDUs
-
Typically exchanged on p2p links, PSNP are used to ack and request link-state info.
通常在点对点链路上交换,PSNP 用于确认和请求链路状态信息。 -
Two functions
两个功能Acknowledge receipt of an LSP
确认收到 LSPRequest transmission of latest LSP
请求传输最新的 LSP -
PSNPs describe LSPs by its header.
PSNP 通过其报头描述 LSP。LSP identifier
LSP 标识符Sequence number
序列号Remaining lifetime
剩余生存时间LSP checksum
LSP 校验和
Network Design Issues
网络设计问题
-
As in all IP network designs, the key issue is the addressing layout.
与所有 IP 网络设计一样,关键问题是寻址布局。 -
ISIS supports a large number of routers in a single area.
ISIS 在单个区域支持大量路由器。 -
When network is so large requiring the use of areas, employ summary-addresses.
当网络非常大需要使用区域时,采用汇总地址。 -
>400 routers in the backbone is quite doable … according to Philip Smith :\-)
根据 Philip Smith 的说法,骨干网中有 400 多个路由器是可行的…… -
Link cost
链路成本Default on all interfaces is 10.
所有接口的默认值为 10。(Compare with OSPF which sets cost according to link bandwidth)
(与 OSPF 根据链路带宽设置成本相比)Manually configured according to routing strategy.
根据路由策略手动配置。 -
Summary address cost
汇总地址成本Equal to the best more specific cost.
等于最佳更具体成本。 -
Backbone has to be contiguous.
骨干网必须是连续的。Ensures continuity through redundancy.
通过冗余确保连续性。 -
Area partitioning
区域划分Design in a way that backbone can NOT be partitioned.
设计时应确保骨干网不会被分割。
Scaling Issues
扩展问题
-
Areas vs. single area
区域与单区域 -
Use areas where
在以下情况下使用区域sub-optimal routing is not an issue.
次优路由不是问题。areas with one single exit point.
只有一个出口点的区域。 -
Start with L2-only everywhere.
从到处只有 L2 开始。Thus future implementation of any level-1 areas would become easier.
这样,未来任何一级区域的实施都会更容易。Backbone continuity is ensured from start.
从一开始就确保骨干网的连续性。
Typical ISP Design
典型的 ISP 设计
All routers are in L2 only and only one area is used.
所有路由器都仅处于 L2 且只使用一个区域。
Asante Sana
./noah
noah(at)neo.co.tz
IS-IS Packets and Flooding Control
IS-IS 数据包和泛洪控制
There are four types of packets in IS-IS routing protocol: hello, lsp, csnp, psnp.
IS-IS 路由协议中有四种类型的数据包:hello、lsp、csnp、psnp。
Hello: used to build adjacent relationship, routers with different max area number or SysID bytes will fail to build adjacency.
Hello:用于建立相邻关系,最大区域数或 SysID 字节数不同的路由器将无法建立邻接关系。
The circuit type and area ID in hello packet determine which level relationship will be built.
hello 数据包中的电路类型和区域 ID 决定了将构建哪个级别关系。
Level-1 hello and level-2 hello exists in MA network while only one type of hello packet in point-to-point network.
MA 网络中存在 1 级 hello 和 2 级 hello,而点对点网络中只有一种类型的 hello 数据包。
LSP: used to distribute topology info within local area. Two type of LSP exist in both MA and point-to-point network.
LSP:用于在本地区域内分发拓扑信息。MA 和点对点网络中都存在两种类型的 LSP。
The figure shows the head of LSP packet. Following elaborates each parts of the display.
该图显示了 LSP 数据包的头。下面详细介绍了显示的每个部分。
LSPID uniquely identify the source sender of the LSP. It is made up of 6 bytes SysID, 1 byte pseudonode identifier and 1 byte fragment. The asterisk stands for the LSP is generated locally. Because IS-IS hasn’t many types of LSP like OSPF, its LSP may be beyond link MTU. So fragment function is used as needed.
LSPID 唯一标识 LSP 的源发送方。它由 6 字节的 SysID、1 字节的伪节点标识符和 1 字节的片段组成。星号代表 LSP 在本地生成。由于 IS-IS 没有像 OSPF 这样的 LSP 类型,因此其 LSP 可能超出链路 MTU 范围。所以 fragment 函数是根据需要使用的。
LSPID together with the LSP SN, checksum and remain lifetime uniquely identify one instance of LSP.
LSPID 与 LSP SN、校验和和保留生命周期一起唯一标识一个 LSP 实例。
Three flags are also included in the LSP packets.
LSP 数据包中还包括三个标志。
ATT set when a level-1-2 capable router generates and sends level-1 LSP to its level-1 neighbor to indicate it is the exit of local area. Level-1 router will then install a default route point to the level-1-2 router.
ATT 设置:当支持 1-2 级的路由器生成 1 级 LSP 并将其发送到其 1 级邻接方,以指示它是本地区域的出口。然后,1 级路由器将安装到 1-2 级路由器的默认路由点。
P means partition. It is used in virtual-link function to link two separate areas through backbone. Cisco doesn’t support this function.
P 分区:它用于虚拟链接功能,通过主干网连接两个独立的区域。Cisco 不支持此功能。
OL means overload. Operator can set this flag explicitly using IOS command set-overload-bit. Routers will not consider this device in SPF calculation except this device is the last hop of one definite route.
OL 过载:操作员可以使用 IOS 命令 set-overload-bit 显式设置此标志。路由器在 SPF 计算中不会考虑此设备,除非此设备是一条确定路由的最后一跳。
Regular LSP contains neighbor and prefix info while pseudonode LSP contains all devices linking in the MA.
常规 LSP 包含邻居和前缀信息,而伪节点 LSP 包含 MA 中链接的所有设备。
The function of CSNP and PSNP is a bit different in MA and point-to-point network.
CSNP 和 PSNP 的功能在 MA 和点对点网络中略有不同。
In MA network, there is no acknowledge function to enable reliability of LSP flooding. As a result, the DIS periodically floods CSNP which contains summary info of its LSP.
在 MA 网络中,没有确认功能来启用 LSP 泛洪的可靠性。因此,DIS 会定期泛洪 CSNP,其中包含其 LSP 的摘要信息。
Routers use PSNP to request LSP in the MA network.
路由器使用 PSNP 在 MA 网络中请求 LSP。
While in point-to-point network, LSP is acknowledged by PSNP. PSNP is also used for requesting LSP.
在点对点网络中,LSP 由 PSNP 确认。PSNP 还用于请求 LSP。
As a result, CSNP is only flooded once after neighbor build to accelerate flooding process.
因此,CSNP 在邻居构建后只被洪水淹没一次,以加速洪水过程。
There are two flags used to control flooding process.
有两个标志用于控制泛洪过程。
SRM means send route message and SSN means send serial number. They are linked to one interface.
SRM 表示发送路由消息,SSN 表示发送序列号。它们链接到一个界面。
SRM is set when needs to send LSP to remote neighbor. It is cleared when receive PSNP acknowledge message from remote in point-to-point network or immediate after sending LSP in MA network.
当需要将 LSP 发送到远程邻接方时,将设置 SRM。在点对点网络中收到来自远程的 PSNP 确认消息时,或在 MA 网络中发送 LSP 后立即清除。
SSN is set when needs to send PSNP to acknowledge receiving LSP in point-to-point network. It is cleared immediate after sending PSNP.
当需要发送 PSNP 以确认在点对点网络中接收 LSP 时,将设置 SSN。发送 PSNP 后立即清除。
“IS-IS Network Design Solutions”
This entry was posted on April 17, 2011 at 6:27 am and is filed under IS-IS..