动态路由协议传说——ISIS

一 IS-IS动态路由协议简述

1、链路状态协议,使用SPF算法
2、使用Hello包建立邻居关系、使用LSP交换链路状态信息,采用分层设计
3、有2种路由选择级别,L1和L2。其中,L1负责在同一个区域内传播链路状态信息(类似OSPF中的1类和2类),L2负责在不同的区域内相互传播链路状态信息(类似OSPF的3类)
4、三种路由器:L1能获取区域内的路径信息;L2能获取区域间的路径信息;L1-2能同时获取区域内和区域间路径
5、连接L2路由器和L1-2路由器的路径会形成骨干区域
6、IS-IS区域边界位于链路上,而不是路由器中,每台IS-IS路由器仅属于一个区域

二 IS-IS协议的NASP地址转换规则

1、NSAP地址
IS-IS LSP使用NSAP地址来标识路由器并建立拓扑表,因此为IP提供路由
选择需要NSAP地址
2、NSAP地址8-20字节,用16进制标识,包含如下主要信息:
【1】区域编号
【2】系统编号(固定6个字节)
【3】NSEL位(固定1字节并置0)

例如:49.0001.0002.0002.0002.00

3、现网NET地址常见的规划方式
通过环回口32位地址补齐成48位获得
例如:221.15.23.180 ###补足3位,然后4位分割
221.15.23.180====221.015.023.180=2210.1502.3180
转换后:49.0020.2210.1502.3180.00

区域1
12.12.12.12=0120.1201.2012=49.0001.0120.1201.2012.00

区域30
218.120.130.11=2181.2013.0011=49.0030.2181.2013.0011.00

三 IS-IS协议邻居关系图

Area1 L1 Area1
R1(L1)----------------R2(L1)

Area1 None Area1
R1(L2)----------------R2(L1)

Area1 L2 Area1
R1(L2)----------------R2(L1-2)

Area1 None Area2
R1(L1)----------------R2(L1-2)

Area1 L2 Area2
R1(L2)----------------R2(L1-2)

Area1 L1 L2 Area2
R1(L1-2)----------------R2(L1-2)

四 IS-IS协议常用的配置

IS-IS协议的配置思路
1、启动IS-IS进程,根据区域规划配置NET地址
2、根据网络结构配置IS-IS路由类型
3、在接口下,将接口宣告到IS-IS进程中
例:

#对应1
[R2]isis
[R2-isis-1]network-entity 49.0001.0020.0200.2002.00
#对应2
[R2-isis-1]is-level level-1-2
#对应3
[R2-isis-1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable

五 IS-IS综合实验

1.实验拓扑图

在这里插入图片描述

2.实验分布

2.1 ISIS配置

注意:图中每台路由器都有环回接口,需要配置IP地址,本文将不再赘述。
R1

isis 1
is-level level-1
network-entity 49.0001.0010.0100.1001.00
interface GigabitEthernet0/0/2
isis enable
interface LoopBack0
ip address 1.1.1.1 255.255.255.255 
isis enable 1

R2

[R2-LoopBack0]isis
[R2-isis-1]network-entity 49.0001.0020.0200.2002.00
[R2-isis-1]is-level level-1-2
[R2-isis-1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]isis enable
[R2-GigabitEthernet0/0/1]int loo 0
[R2-LoopBack0]isis enable

R3

[R3-LoopBack0]isis
[R3-isis-1]network-entity 49.0000.0030.0300.3003.00
[R3-isis-1]is-level level-2
[R3-isis-1]int g0/0/0
[R3-GigabitEthernet0/0/0]isis enable
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]isis enable
[R3-GigabitEthernet0/0/1]int loo 0
[R3-LoopBack0]isis enable

R4

[R4-LoopBack0]isis
[R4-isis-1]network-entity 49.0002.0040.0400.4004.00
[R4-isis-1]is-level level-1-2
[R4-isis-1]int g0/0/0
[R4-GigabitEthernet0/0/0]isis enable
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]isis enable
[R4-GigabitEthernet0/0/1]int loo 0
[R4-LoopBack0]isis enable

R5

[R5]isis
[R5-isis-1]network-entity 49.0002.0050.0500.5005.00
[R5-isis-1]is-level level-1-2
[R5-isis-1]int g0/0/0
[R5-GigabitEthernet0/0/0]isis enable
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]isis enable
[R5-GigabitEthernet0/0/1]int loo 0
[R5-LoopBack0]isis enable

2.2 RIP配置

R1

rip 1
undo summary
version 2
network 16.0.0.0

R6

[R6]rip 1
[R6-rip-1]version 2
[R6-rip-1]un summary	
[R6-rip-1]network 6.0.0.0
[R6-rip-1]network 203.0.0.0
[R6-rip-1]network 203.0.1.0
[R6-rip-1]network 16.0.0.0

2.2 RIP与OSPF混合注入

R1

rip
import-route isis 1 cost 5

isis
import-route rip 1 level-1 

2.3 路由泄露

R2

[R2]isis
[R2-isis-1]import-route isis level-2 into level-1

R4

[R4]isis
[R4-isis-1]import-route isis level-2 into level-1 

2.4 路由汇总

R1

[R2]isis 1
[R2-isis-1]summary 203.0.0.0 255.255.254.0 level-1

R4

[R4]isis 1
[R4-isis-1]summary 202.0.0.0 255.255.254.0 level-1-2

2.5 查看路由条目

在骨干网络路由器R3中输入命令display ip routing-table查看路由条目
在这里插入图片描述
路由条目减少
在这里插入图片描述
202网段和203网段汇总成功

根据提供的引用内容,SPPFCSPC是一种空间金字塔池化改进的方法。下面是SPPFCSPC的代码详解: ```python import torch import torch.nn as nn class SPPFCSPC(nn.Module): def __init__(self, in_channels, out_channels): super(SPPFCSPC, self).__init__() self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1) self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1) self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2) self.spp = SpatialPyramidPooling(out_channels) self.fc = nn.Linear(out_channels * 4, out_channels) def forward(self, x): x = self.conv1(x) x = self.conv2(x) x = self.maxpool(x) x = self.spp(x) x = x.view(x.size(0), -1) x = self.fc(x) return x class SpatialPyramidPooling(nn.Module): def __init__(self, out_channels): super(SpatialPyramidPooling, self).__init__() self.out_channels = out_channels def forward(self, x): pool_sizes = [4, 2, 1] # 池化层的大小 output = [] for pool_size in pool_sizes: pool = nn.AdaptiveMaxPool2d(pool_size) pooled = pool(x) output.append(pooled) output = torch.cat(output, dim=1) return output # 使用示例 in_channels = 3 out_channels = 64 input_data = torch.randn(1, in_channels, 224, 224) model = SPPFCSPC(in_channels, out_channels) output = model(input_data) print(output.shape) ``` 上述代码中,`SPPFCSPC`是一个继承自`nn.Module`的自定义模型,它包含了卷积层、最大池化层、空间金字塔池化层和全连接层。`SpatialPyramidPooling`是一个单独的模块,用于实现空间金字塔池化操作。 在`SPPFCSPC`的前向传播过程中,输入数据经过两个卷积层和一个最大池化层,然后通过空间金字塔池化层进行特征提取,最后通过全连接层输出最终结果。 使用示例中,我们创建了一个输入数据`input_data`,它的形状是`(1, in_channels, 224, 224)`,然后创建了一个`SPPFCSPC`模型,并将输入数据传入模型进行前向传播,得到输出结果`output`。最后打印输出结果的形状。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值