网络互联技术的研究与应用
**摘要:**目前的网络技术以高性能化、高传输效率和高品质的网络服务质量为目标,但现网中仍存在诸多亟需解决的问题。本文首先分析交换网络中涉及的问题,详细比较OSPF协议与IS-IS协议的特征和应用场景。其次,以工程拓扑、工程实施和工程步骤为主体,提出包含运营商和企业业务网络的拓扑结构,并详细阐述协议的部署过程,该结构可适用于企业总部与分支机构之间的互联。最后,分析了MSTP、OSPF和BGP协议的实施效果,并对网络进行优化,在一定程度上解决了网络中存在的数据风暴、路由环路和利用率问题,满足企业实际应用需求,可为当今企业承载高质量的数据通信业务。
**关键词:**网络互联 MSTP OSPF IS-IS 网络优化
引言
网络互联是指利用现有的网络设备与技术将不同地区、不同地理位置的独立自治系统连接在一起,形成一个更大的网络,实现单独自治系统的数据互通,使各个独立自制系统实现资源共享。在连接不同计算机或是不同工作站、服务器的时候,除了需要必要的连接器之外,还需要一些中介连接设备,这些设备之间又通过各种协议维护着网络动态平衡。
Internet时代的到来,使得基于互联网的应用越来越广泛,每天网络中都在交换大量的网络数据。互联网在医学方面、军事方面、学术方面、金融方面等都具有十分重大的意义。在一些金融领域,对网络响应速度的要求能达到毫秒级,有的公司为了提升几毫秒的响应速度,使用几百万资金来升级网络设备^[1]^。如果出现网络延迟,甚至网络中断,往往会造成很大的经济损失。
1 网络互联设备
1.1 交换机
交换机外观上类似于集线器,所以也称交换式集线器,是简化的网桥。交换机可以看成高级的网桥设备,其端口数量远远大于网桥,而且具有很高的网络传输效率。
1.1.1 二层交换机
以太网交换机,一般用来连接类型相同的LAN,进行二层交换。交换机转发时会收到不同类型的数据帧,在网络上传播的数据帧可分为单播帧、未知单播帧、组播帧、广播帧,对不同类型的数据帧交换机处理方式也不尽相同。当交换机查找到此帧目的MAC地址是一个单播MAC地址时,经过对比交换机的MAC地址表发送到对应的接口,当交换机本地MAC地址表中查不到数据包中相对应的MAC地址信息,则此数据帧为未知单播帧,会将此数据帧泛洪处理。如果交换机收到目的MAC地址二进制高八位的第八位为1,则此数据帧为组播帧,会将数据帧泛洪到适当的组播组^[2]^。当交换机收到目的MAC地址为FF-FF-FF-FF-FF-FF时,此数据帧为广播帧,此数据帧则会泛洪处理。
1.1.2 三层交换机
三层交换机支持路由交换,可以在二层和三层工作,通过IP地址寻找通往目标网段的路径,数据帧会发生变化,封装成新的数据帧。
三层交换机在保留了二层交换机方便的VLAN规划技术和高处理速度的基础上,添加了三层的功能,通过硬件完成三层报文的高速传输,也降低了网络环境的复杂性。
1.2 路由器
1.2.1 路由器简介
路由器和网桥类似,通常在网络层工作,用于转化网络层上的协议,把逻辑上互相孤立的网络连接起来^[3]^。在使用路由器互联的网络中,每个子网都拥有自己的网络地址。当一个网络中的计算机要将数据发送给另一个网络中的主机时,首先需要将数据包发送给本网段的路由器,路由器会根据数据包中目的网段信息,查看由路由器间互相运行的路由协议生成的路由表,选择合适的路由进行转发,将数据交给正确的接收者。路由器通过软件实现功能,传输效率低,数据报文延迟比较大。
1.2.2 路由器的功能
路由器的主要用于不同的子网在数据交换时选择正确的路由,路由器的常用功能包含下述三个方面。
- 网络互联:可以将相同的或者不同的网络进行互联。
- 数据的处理:路由器可以将数据包进行分组过滤、分组转发、标记不同优先级(QoS)、加密等操作。
- 网络的管理:路由器可以通过不同路由策略来控制网络中不同流量的走向。
2 交换机协议
2.1 交换机网络中涉及的问题
通常交换机收到数据帧,会判断此数据帧的类型,除了已知单播帧会通过MAC地址表转发到相应的接口外,其他类型的数据帧都会进行泛洪处理,所以在交换网络中,如果没有任何措施有很大可能会产生数据风暴,如2-1所示

交换机通过绑定数据包中源MAC地址信息与相对应的接口来形成MAC地址表。如果网络中出现环路,会影响交换机中MAC地址表的正常生成令交换机中MAC地址表频繁变化,如图2-2所示。

当交换机网络中出现上述问题时,会影响整个网络质量,正常数据包无法正常的在网络中传递,占用带宽资源,形成数据风暴,如果问题不能及时解决,最终会导致业务受到巨大影响,甚至网络瘫痪^[4]^。
2.2 交换机STP协议的实现
交换机运行生成树(Spanning Tree Protocol,STP)协议,主要是通过在交换机之间传递网桥协议数据单元(Bridge Protocol Data Unit,BPDU),来形成二层网络的“树”,STP通过在网络中形成一颗无环的“树”来解决网络中有可能出现的环路,主要通过选举根交换机、根端口和指定端口实现。
2.2.1 选举根交换机:
- 交换机标识的构成是16比特长度的交换机优先级加上48比特长度的MAC地址。
- 交换机默认使用32768作为优先级,可以配置为0到65535之间的数值。
- 网络中BID数值最小的成为根交换机,可以看成先比较BID中16比特长度的交换机优先级,当优先级无法选举出根交换机时,再对比48比特长度MAC地址。
2.2.2 选举根端口:
-
首先比较非根交换机端口到达根交换机根路径开销(Root Path Cost)。
-
端口Link的上游交换机的BID,数值小的优先。
-
端口上Link的上行端口的PID(Port Identifier),数值小的优先。
2.2.3 选举指定端口:
-
首先比对该网段所有的端口所属交换机距离根交换机的距离,距离越近越优先。
-
比较所有交换机端口的交换机标识,交换机标识小的成为指定端口。
-
比较所有交换机端口的端口标识,端口标识小的成为指定端口。
3 路由器协议
3.1 路由协议简介
路由器提供了网络互联的机制,它能够将一个子网的数据包传递给另一个子网,从而实现子网之间的互相通信。路由器直接可以通过路由协议互相沟通收集网络中的信息,从而形成去往目标网段最优的路由条目。
3.2 路由协议分类与特点
路由协议按照其工作范围可以分为内部网关协议(Interior Gateway Protocol,IGP)与外部网关协议(Exterior Gateway Protocol, EGP),路由信息协议(Routing Information Protocol,RIP)、开放式最短路径优先(Open Shortest Path First,OSPF)、中间系统到中间系统(Intermediate System-to-Intermediate System,IS-IS)等属于IGP协议,边界网关协议(Border Gateway Protocol,BGP)等属于EGP协议^[5]^。
RIP基于UDP协议,端口号为520。无确认机制,无邻居概念,占用设备性能资源少。
BGP是基于TCP的,距离远、单播、要建立可靠的连接,如发送hello报文后,可以通过TCP的三次握手确认,端口号为179,使协议更加可靠。BGP用来在域间传递路由,所以要求有非常高的可靠性,从而使用TCP来保障稳定性。前提是在建立BGP会话前,需要先进行TCP连接,即通常所谓的IP网络的连通性。而建立BGP邻居的设备不要求直连,可以跨设备建立BGP邻居。
OSPF是基于IP的,协议号为89,因此它只支持IP网络。但由于IP层是不可靠的,OSPF开发了许多确认机制(hello包的邻居列表,DD报文使用seq做隐式确认,LSR/LSU/LSACK之间的相互确认)。基于IP的会话可以使用组播发送协议报文, OSPF可以自己发现邻居,并且建立邻居关系,但工作在IP及以上的协议较易于受到安全威胁。
IS-IS是基于数据链路层的,在特征上类似与OSPF,不同的是IS-IS收敛速度更快,并可以支持多种三层网络协议,包括非IP网络协议,而且具有较高的安全性。
3.3 RIP协议分析
RIP协议作为一种IGP协议,可以进行动态路由选择,用来传递网络内的路由信息。RIP协议使用距离矢量算法,通过“跳数”来判断路由的优先级。RIP的路由器只知道自己周围路由器,只与他们交换路由信息。RIP广泛应用在网络中,主要有以下优点。
- 相比其他IGP协议,占用设备系统资源少
- 相比静态路由可以动态的感知线路是否存在故障
- 适合用在对网络环境质量要求不高的小型网络,和一些大型网络的末梢节点等
- 相比其他IGP协议,没有邻居的概念,不用发送hello报文
但RIP的缺陷也较为明显,主要包含下述四个方面
- RIP每30秒会向其他路由器更新所有路由信息,链路开销大,特别是在广域网链路上
- RIP收敛慢,如准备切换需要180秒,路由的更新是一跳一跳传播
- 最大的跳数为16跳,限制了网络直径,不适合大型网络
- 最大跳数为16跳,无法根据实际链路状态来选择最优路径,不精确
3.4 OSPF与IS-IS协议分析
3.4.1 OSPF与IS-IS协议简介
OSPF是一种IGP 协议,OSPF路由器会收集区域内所有LSA信息,形成一个LSDB,而后每台路由器通过自己的LSDB信息库以自己为根计算出一颗最短路径树
IS-IS是ISO组织针对OSI模型研发的协议,最初是应用在数据链路层,随着IP网络环境的推广流行,对IS-IS进行了扩展,使IS-IS适用于IP网络环境,这种扩展的IS-IS叫做集成IS-IS,IS-IS既可以运用在数据链路层,也可以用在IP层
OSPF共有8种状态机。路由器处于Down状态,发出一个Hello包。当路由器从其他路由收到Hello包,并发现这个Hello包中含有自己的Router ID,这时自己和邻居进入Init状态。当两端都收到含有自己Router ID的Hello包后进入2-way状态
进入2-way后,将选举出DR/BDR。进入2-way状态后,两个路由器进入邻居状态。这时只是邻居关系,只有进入Full状态才真正进入邻接状态,才会同步LSDB信息。
在Exstart状态时会互相发送First DBD,选出主从关系,主设备首先发送报文,确定序列号。
在Exchange相互交换DBD来互相传递LSA头部信息。当收到M位为0的DBD报文后表示最后一个DBD报文,进入Loading状态。进入Loading状态后,开始发送LS request报文请求本地LSDB库中不存在的LSA信息。在收到LS request请求后,向对端回应LS update报文,在LS update报文中,包含了LS request中请求的LSA详细信息。路由器收到LS update报文之后,向对端回复LS ack报文作确认,保证LSA同步的可靠性。LSDB同步完成后,进入Full状态,邻接关系完整建立。
IS-IS建立邻居的方式有两种2-way握手与3-way握手,IS-IS在广播链路上只支持3-way握手
- 2-way握手,本端路由器收到IS-IS hello报文,就会单方向建立起邻居关系。
- 3-way握手,只有当本段路由器收到含有自己的System ID,才会建立起邻居关系。
3.4.2 OSPF与IS-IS对比
OSPF与IS-IS都可以划分出不同区域类型,如骨干区域、非骨干区域、Stub区域、NSSA区域,在设备组网中,设备性能有差异,我们将性能好的安放在骨干区域,性能较差的安放在特殊区域中,这样在特殊区域通过缺省路由来访问外部路由,避免了大量外部路由对性能差的设备的冲击。虽然IS-IS也拥有不同的区域,但是区域类型相比OSPF较少,只有level-1、 level-2两种,在同一区域中如果有很多level-1-2路由器作为本区域数据出口,有可能会出现次优路径问题,如果使用路由泄露功能,对路由器性能要求变高。
如果网络中链路类型非常复杂,例如有PPP、帧中继这样的链路,那么这种情况下,OSPF是比较好的,因为OSPF可以支持的多种网络类型,有Broadcast、NBMA、P2P、P2MP,IS-IS只支持Broadcast和P2P,而且在帧中继网络中不管主接口还是子接口都只支持P2P,这样邻居关系是非常多的。
OSPF控制路由的手段是非常丰富的,通过划分特殊区域可以控制,并且OSPF有3类LSA、5类LSA的过滤,3类LSA、5类LSA、7类LSA的汇总,对于引入的外部路由可以配置type1类型和type2类型,还可以使用路由策略对路由控制。对于IS-IS来说,是没有这么多的手段的。
OSPF与IS-IS都使用I-SPF和PRC将网络的收敛性能进一步提高,对OSPF来说, 在一个Area内,任何1类LSA与2类LSA的变化都触发I-SPF计算,只有3/4/5/7LSA的变化才触发PRC计算,而在IS-IS中,每条路由前缀都是当前节点的叶子,路由前缀的变化只触发PRC计算,相比OSPF在Area内,路由前缀变化会使用I-SPF而言,IS-IS收敛会快些。
IS-IS一般是用于数据链路层的,支持IP环境也支持非IP环境,如果后期要在网络中部署Ipv6的话,IS-IS只需要增加相应的TLV,将IS-IS中Ipv6的功能打开就可以实现。对与OSPF来说,要从Ipv4向Ipv6过渡,只能在网络中全部运行Ospfv3,配置量和复杂度都是相对较大的。而且IS-IS支持进程下配置3个Network-entity地址,可以方便网络区域的重新规划、平滑过渡。这也是IS-IS扩展性强的一个体现。
OSPF一般使用在IP层面,IS-IS一般使用在数据链路层,由于IP层的攻击要比数据链路层的多,所以从这个角度讲,IS-IS更安全一些。综合上述各个方面,OSPF与IS-IS的主要差异如表3-1所示,网络管理员可以根据自身网络对区域类型、链路类型、收敛速度等的要求,选择部署何种类型的路由协议。
区域类型 | 链路类型 | 路由控制 | 安全性 | 收敛速度 | 扩展性 | |
---|---|---|---|---|---|---|
IS-IS | 单一 | 单一 | 单一 | 攻击较少 | 极快 | 强 |
OSPF | 丰富 | 丰富 | 丰富 | 攻击较多 | 快速 | 差 |
4 网络协议应用
在现实网络环境中,大部分企业公司内部都会采用OSPF协议来构建三层网络环境。在一些小型网络或者大型网络的末梢节点会使用RIP协议。但在运营商网络中,IS-IS协议是比较常用的,运营商网络常常使用BGP协议为企业与企业之间传递路由信息。二层网络中,使用最为广泛为MSTP技术,不同VLAN对应不同生成树。下面将通过实际工程案例设计分析网络协议的应用。
4.1 工程介绍
某一大型企业,在外地开设分公司,总公司内部网络复杂且需要保证网络质量与亢余性,不能出现环路,网络某链路出现问题时需要保证网络的连通性。子公司网络环境较简单,也需保证网络的畅通性。需公司总部与分部通过租用运营商网络实现互通。子公司拥有一台服务器,总部需要访问此服务器。
运营商网络下,只有与企业相连的两台路由器建立IBGP邻居,运营商网络内其它路由器不参与BGP邻居的建立
4.2 工程拓扑
工程拓扑如图4-1所示,AS100为运营商区域,AS10为企业总部区域,AS20为企业分部。交换机之间使用MSTP协议防止环路,AS100运行IS-IS协议,AS10运行OSPF协议动态学习路由,AR20运行RIP协议学习路由。AS10通过BGP协议将路由信息传递给AS20
- 每个路由器配置一个环回接口,IP配置为10.1.X.X(X为路由器编号)
- 路由器互联网段地址为10.1.XY.X(X为本段路由器标号,Y为对端路由器编号)
- 所有路由器手动配置Router ID,地址为本路由器环回接口地址。
- AR6与AR7互联网段运行在区域0中,AR5与AR6互联网段运行在区域1中,AR5与AR6运行在区域2中

4.3 工程实施
- LSW1、LSW2、LSW3使用MSTP技术防止网络中产生环路
- AS10使用OPSF协议组网,AS100使用IS-IS组网,AS20使用RIP组网
- AS100通过BGP将AS10路由信息传递给AS20,AS100通过BGP将AS20路由信息传递给AS10。使AS10与AS20可以互相访问。在AS100内AR1与AR3建立IBGP邻居,其他路由不建立BGP邻居
- PC1、PC2、PC3、PC4可以互相访问。Client2可以访问Server1
4.4 工程步骤
LSW1、LSW2、LSW3上运行MSTP
# 在LSW1、LSW2、LSW3上配置命令如下
[SW1] stp mode mstp
[SW2] stp mode mstp
[SW3] stp mode mstp
AR1、AR2、AR3、AR4运行IS-IS协议,配置System ID,所有互联接口开启IS-IS功能。
#在AR1、AR2、AR3、AR4上配置如下。
[AR1]IS-IS
[AR1-IS-IS-1]network-entity 49.0001.0000.0000.0001.00
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]IS-IS enable
[AR1]interface GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/1]IS-IS enable
[AR1]interface LoopBack 0
[AR1-LoopBack0]IS-IS enable
[AR2]IS-IS
[AR2-IS-IS-1]network-entity 49.0001.0000.0000.0002.00
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]IS-IS enable
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/1]IS-IS enable
[AR2]interface LoopBack 0
[AR2-LoopBack0]IS-IS enable
[AR3]IS-IS
[AR3-IS-IS-1]network-entity 49.0001.0000.0000.0003.00
[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]IS-IS enable
[AR3]interface GigabitEthernet 0/0/2
[AR3-GigabitEthernet0/0/1]IS-IS enable
[AR3]interface LoopBack 0
[AR1-LoopBack0]IS-IS enable
[AR4]IS-IS
[AR4-IS-IS-1]network-entity 49.0001.0000.0000.0004.00
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]IS-IS enable
[AR4]interface GigabitEthernet 0/0/2
[AR4-GigabitEthernet0/0/1]IS-IS enable
[AR4]interface LoopBack 0
[AR4-LoopBack0]IS-IS enable
AR5、AR6、AR7配置OSPF,Router ID为环回接口0的IP地址,AR6的GigabitEthernet 0/0/0接口与AR7的GigabitEthernet 0/0/2接口运行在区域0中,AR6的GigabitEthernet 0/0/1接口与AR5的GigabitEthernet 0/0/1接口运行在区域1中,AR7的GigabitEthernet 0/0/1接口与AR5的GigabitEthernet 0/0/0接口运行在区域2中,AR7的GigabitEthernet 0/0/0接口与AR5的GigabitEthernet 0/0/2接口运行在区域4中。
# 在AR5、AR6、AR7配置命令如下。
[AR5]ospf 1
[AR5-ospf-1]area 1
[AR5-ospf-1-area-0.0.0.1]network 10.1.5.5 0.0.0.0
[AR5-ospf-1-area-0.0.0.1]network 10.1.56.5 0.0.0.0
[AR5-ospf-1-area-0.0.0.1]quit
[AR5-ospf-1]area 2
[AR5-ospf-1-area-0.0.0.2]network 10.1.57.5 0.0.0.0
[AR5-ospf-1-area-0.0.0.2]quit
[AR5-ospf-1]area 4
[AR5-ospf-1-area-0.0.0.4]network 10.1.10.5 0.0.0.0
[AR6-ospf-1]area 0
[AR6-ospf-1-area-0.0.0.0]network 10.1.6.6 0.0.0.0
[AR6-ospf-1-area-0.0.0.0]network 10.1.67.6 0.0.0.0
[AR6-ospf-1-area-0.0.0.0]quit
[AR6-ospf-1]area 1
[AR6-ospf-1-area-0.0.0.1]network 10.1.56.6 0.0.0.0
[AR7-ospf-1]area 0
[AR7-ospf-1-area-0.0.0.0]network 10.1.67.7 0.0.0.0
[AR7-ospf-1-area-0.0.0.0]quit
[AR7-ospf-1]area 2
[AR7-ospf-1-area-0.0.0.2]network 10.1.7.7 0.0.0.0
[AR7-ospf-1-area-0.0.0.2]network 10.1.57.7 0.0.0.0
[AR7-ospf-1-area-0.0.0.2]quit
[AR7-ospf-1]area 4
[AR7-ospf-1-area-0.0.0.4]network 10.1.10.7 0.0.0.0
在AR8、AR9、AR10配置RIP协议,为了节省链路带宽,在非相关端口不发送接收RIP报文
#在AR8、AR9、AR10配置命令如下
[AR8]rip 1
[AR8-rip-1]network 10.0.0.0
[AR8]interface GigabitEthernet 0/0/2
[AR8-GigabitEthernet0/0/2]undo rip output
[AR8-GigabitEthernet0/0/2]undo rip input
[AR9]rip 1
[AR9-rip-1]network 10.0.0.0
[AR9]interface GigabitEthernet 0/0/1
[AR9-GigabitEthernet0/0/1]undo rip output
[AR9-GigabitEthernet0/0/1]undo rip input
[AR10]rip 1
[AR10-rip-1]network 10.0.0.0
[AR10]interface GigabitEthernet 0/0/0
[AR10-GigabitEthernet0/0/0]undo rip output
[AR10-GigabitEthernet0/0/0]undo rip input
AR1与AR3建立IBGP邻居,AR1与AR6建立EBGP邻居,AR3与AR10建立EBGP邻居。在AR6上BGP与OSPF互相引入,在AR10上BGP与IS-IS互相引入,在AR1与AR3上将BGP引入IS-IS中。
在AR1、AR3、AR6、AR10上配置命令如下。
[AR1]bgp 100
[AR1-bgp]peer 10.1.3.3 as-number 100
[AR1-bgp]peer 10.1.3.3 connect-interface LoopBack0
[AR1-bgp]peer 10.1.3.3 next-hop-local
[AR1-bgp]peer 10.1.16.6 as-number 10
[AR1]IS-IS 1
[AR1-IS-IS-1]import-route bgp
[AR3]bgp 100
[AR3-bgp]peer 10.1.1.1 as-number 100
[AR3-bgp]peer 10.1.1.1 connect-interface LoopBack0
[AR3-bgp]peer 10.1.1.1 next-hop-local
[AR3-bgp]peer 10.1.103.10 as-number 20
[AR3]IS-IS 1
[AR3-IS-IS-1]import-route bgp
[AR6]bgp 10
[AR6-bgp]peer 10.1.16.1 as-number 100
[AR6-bgp]import-route ospf
[AR6]ospf 1
[AR6-ospf-1]import-route bgp
[AR10]bgp 20
[AR10-bgp]peer 10.1.103.3 as-number 100
[AR10-bgp]import-route ospf
[AR10]ospf 1
[AR10-ospf-1]import-route bgp
4.5 工程分析
首先,分析该工程二层环境下MSTP的防环机制。在SW1上G 0/0/2被选举为指定端口,G 0/0/3被选举为根端口,如图4-1所示。在SW2上G 0/0/2被选举为备份端口,G 0/0/3被选举为根端口,如图4-2所示。在SW3上G 0/0/1与G 0/0/2被选举为指定端口,如图4-3所示。流量在二层网络环境中,会由SW3传给SW1传给R7,或由SW3传给SW2传给R5,在二层环境下不存在环路。




接下来,分析流量的走向问题。PC1、PC2与PC3、PC4可以互相访问,Client2可以访问Server1服务器。先分析路由的传递过程,AR7上有APC1的路由信息,通过同步OSPF的LSDB将路由信息传递给AR5与AR6。AR6与AR1建立了EBGP邻居,并且OSPF被引入到BGP中,AR1会收到AR6通过EBGP邻居传递给他的关于PC1的路由信息。AR1收到后会传递给他的IBGP邻居AR3,AR3与AR10建立EBGP邻居,且去往这些BGP路由的下一跳地址可达(在配置中AR3由AR1收到的BGP路由下一跳为AR1的环回接口),BGP同步关闭,AR3会将这些BGP路由传递给AR10,在AR10上,BGP被引入到RIP中, AR8会收到关于PC1网段的路由信息,如图4-4所示。
另一方向AR8上拥有PC3的IP地址路由信息,通过RIP协议,同步给AR10、AR9。AR10与AR3建立BGP邻居,并且RIP路由信息被引入到BGP中,所以AR10会将关于PC3的路由信息传递给AR3,AR3收到后会传递给他的IBGP邻居AR1,AR1与AR6建立EBGP邻居,且去往这些BGP路由的下一跳地址可达(在配置中AR1由AR3收到的BGP路由下一跳为AR3的环回接口),BGP同步关闭, AR1会将这些BGP路由传递给AR6,AR6上BGP被引入到OSPF中, AR5、AR7可以收到关于PC3的路由信息,如图4-5所示。

在运营商网络环境中,当AR3从他的IBGP邻居收到路由信息后,首先判断去往这条路由的下一跳是否可达,在判断BGP是否同步,如果满足两项要求,路由器才会将路由信息传递给他的EBGP邻居,在工程环境中,运营商与公司之间不会建立任何IGP邻居,AR3收到的路由条目下一跳不可达,需将它的下一跳修改为AR1的环回接口,来保证下一条可达。BGP同步是指BGP收到的路由在他的IGP路由表中也要有这条路由,路由器才会将路由传递。需将BGP路由引入到IS-IS中,这样保证了BGP同步。但是,运营商网络不需要接收公司的路由,如果我们将所有BGP路由全部引入到IGP中,运营商会接收到大量的不需要的路由,IGP的承载能力有限,有可能会导致网络的崩溃。在搭建的网络环境中,可以选择将BGP同步关闭。来将路由传递过去,有可能会导致数据的黑洞。可以使用反射器和联盟技术,将涉及的路由器全互联,消除数据黑洞。
4.6 工程优化
本工程中,运营商要求在内部网络内,只有AR3与AR1建立BGP邻居,其他路由器不建立任何BGP邻居。因为BGP同步的原因,需要在AR3与AR1上将BGP路由引入到IS-IS内,来解决出现的数据黑洞问题。这样又导致了运营商内部IS-IS网络接收到了大量自己并不需要的路由,IS-IS承载路由能力有限,如果有多家公司采用这种方式,有可能会导致网络的崩溃。
首先,分析数据黑洞产生的原因。如果关闭路由器BGP同步功能,在AR1与AR3上不将BGP路由引入到IS-IS中。当AR3收到去往PC1(10.1.10.0网段)的数据包时候,为了保证下一跳可达,AR1与AR3相互通告的路由信息下一跳地址都为自己环回接口,当AR3查询路由表时,去往10.1.10.0网段下一跳为10.1.1.1(AR1环回接口),出接口为Gigabit Ethernet 0/0/1与Gigabit Ethernet 0/0/2接口,如图4-6所示。数据包会交给AR2或者AR4,AR2与AR4不参与BGP,在AR2与AR4路由表中没有关于10.1.10.0网段的信息,如图4-7所示,数据包会被丢弃,由此导致了数据黑洞的产生。

如果解决在AR2与AR4上路由的问题,在AR2与AR4接收到AR3发往10.1.10.0网段的数据包时,会将此数据包交给AR1,则问题解决。在MPLS VPN技术中,MPLS BGP与LDP会给数据流量分配内层外层标签。如果将此技术引用到IS-IS中,IS-IS支持TLV字段,定义IS-IS中TLV字段,在TLV中写入外层目的地址,当路由器收到数据包时,首先查看外层IP地址,如果在路由表中,有关于外层目的地址的路由信息,则将数据包传递,如果在路由表中没有关于外层目的地址信息,在查看内部IP地址转发。当路由器收到TLV字段中外层目的IP地址为本路由器上某接口IP地址时,直接查看内部IP地址进行转发。
在IS-IS内通过命令引入路由信息时,定义一类路由信息,此类路由信息引入到IS-IS中后,可以配置此类路由信息的外层IP地址,此类路由信息也不会向其他IS-IS邻居传递此类路由。通过外层目的IP地址将数据包交给网络中了解内层目的IP地址的路由器,沿途路由器只需要拥有去往外层目的IP地址的路由信息,不需要关心内部目的IP地址。避免网络中路由器资源的浪费,缩减网络中路由器路由表。当然如果采用这种设计,需要要求所有路由器都要识别此TLV字段,如果中途路由器不识别,也有可能产生路由黑洞。

在此工程中,使用此TLV字段,在AR3上将BGP引入到IS-IS中,定义引入的路由,这些路由不会传递给AR3其他IS-IS邻居,在数据包传递中,加入相应TLV字段,写入外层目的IP地址为10.1.1.1,AR2或AR4收到数据包,根据外层目的IP地址,查询自己路由表,将此数据包交给AR1,消除了路由黑洞,也保证了网络中不会接收到不需要的路由信息。
5 总结
本文介绍了现有网络环境中主要通讯设备与设备之间运行的协议,并利用各种网络协议实现了高效的网络互联。从工程实施和分析过程中可以看出,STP技术通常应用在网络的二层环境,用来防止网络风暴。同时,也分析了OSPF与IS-IS邻居建立机制,部署OSPF为企业业务网络提供连通性,并采用BGP在不同机构间传递路由表,降低了路由表规模,增强了网络的可靠性,提升了网络的利用率。仿真实验和工程分析表明,本文采用的技术是合理的和有效的。网络规模的扩大化对网络互联设备与网络协议的要求越来越高,技术与信息的发展,都会对现有网络互联结构产生冲击,作为良好的网络工程设计,需要深入了解现有网络设备,更深层次的实施现有网络协议,避免数据风暴路由、路由黑洞和路由环路的产生,并提升网络资源的利用率。也需要考虑到未来的发展趋势,为工程实施留足未来弹性,从而全面推动网络技术的向前发展。
参考文献
[1] 别碧勇. IS-IS路由协议及其在IP网络工程设计中的应用[J].铁道勘测与设计, 2006(1):47-53.
[2] 汪孝宜,刘中兵.MVC技术在ASP.NET中的应用[J].计算机应用,2012,23(6):212-215.
[3] 李妍星.DNS安全扩展与可扩展分布式DNS研究[D].四川:电子科技大学,2022:51-62.
[4] 章全.计算机网络原理与应用[M] .南京:南京大学出版社,2019:135-164.
[5] 严斌宇, 卢苇, 黄锐. OSPF路由选择协议的研究[J]. 四川大学学报自然科学版, 2002, 39(3):460-464.
[6] 邵兵, 李越鹏, 赵保华. OSPF协议性能测试的研究与实践[J]. 计算机应用, 2003, 23(10): 62-63.
[7] 吕俏, 刘启文, 石冰心. STP协议原理的算法与实现[J]. 华中科技大学学报自然科学版, 2000, 28(1): 65-67.
[8] 袁展. 基于Boson NetSim的小型网络虚拟实现[J]. 现代电子技术, 2007, 30(7):89-91.
[9] 王震宇, 马晓军, 蒋烈辉. STP协议与生成树设计优化[J]. 信息工程大学学报, 2003, 4(1): 66-68.
[10] 魏立津, 左丞. 基于IS-IS协议的大型IP网络路由规划与设计分析[J]. 硅谷, 2014(6): 50-51.
[11] 陈杰. 电力通信数据网IGP协议弃OSPF选IS-IS原因分析[J]. 信息通信, 2016(6) :169-170.
[12] B.Fortz,M.Thorup. Robust Optimization of OSPF/IS-IS Weights[J].Statistics in Medicine,2014,27(22):4515-31.
[14] A. Cianfrani, V. Eramo, M. Listanti, et al. An Energy Saving Routing Algorithm for a Green OSPF Protocol[C]. IEEE International Conference on Computer Communications (INFOCOM), 2015:1-5.
[15] J. Rodríguez, S. Fernandez, I. Sanz, et al. Distributed Approach for Smart Grids Reconfiguration Based on the OSPF Routing Protocol[J]. IEEE Transactions on Industrial Informatics, 2016, 12(2):864-871.