解决采用多路由协议的网络问题

出于各种原因,很多网络都采用多路由协议。这种现象通常是由于合并和收购活动造成的,或者是在迁移期间临时出现的。
  
  也许有许多路由器硬件厂商使用多种专有的协议与标准的协议连接在一起。一些路由器无论如何都将运行一个以上的协议,并且不可避免地从两个协议收到同样的路由,必须在转发这个数据包的过程中在这两个路由之间做出决策。这里的潜在问题是,这些协议也许有不同的“下一跳”,很容易导致路由循环或者黑洞通信的问题。当你进行修改之后并且一切都正常工作之后,出现这类问题是特别伤脑筋的。但是,随后在网络的另一部分做一些修改会对其中的一个协议产生级联效应,改变它的下一跳。这个故障是很难排除的,因为这个“问题”很可能出现在距离你进行修改地方数百英里远的地方,而且那个区域没有包含在你进行修改的测试计划中。
  
  经常阅读SearchNetworking.com网站内容的读者毫无疑问都知道思科路由器。这个决定是采用管理距离(Administrative Distance)做出的。在这里,协议被分配一个8位的数值,这个数字越低,这个协议就越“可信”。例如,一个通过外部边界网关协议(E-BGP)(AD = 20)收到的路由将优先于通过OSPF(开放式最短路径优先协议)(AD = 110)收到的路由被选择。
  
  然而,当设计多协议环境和排除多协议环境中的故障的时候,特别是在规划具体的迁移步骤的时候,经常容易忘记的问题是管理距离并不是这个过程中的第一个决策。
  
  例如,如果你在计划把你的网络从一个协议转移到另一种协议,对于你来说最重要的是认识到前缀的长度比管理距离更重要。例如,考虑下面的路由:
  
  192.168.1.0 /24 via RIP (AD = 120)
  
  192.168.1.0 /20 via BGP (AD = 20)
  
  在这个例子中,你的路由器将把这个数据包发送到RIP路由识别的下一跳,而不是BGP路由识别的下一跳,尽管BGP的AD是20。这是因为较长的前缀总是被优先选择的。当路由的长度一致的时候,AD才会起作用。
  
  这件事为什么非常重要?这是当你在一个子网中正在从一个有类协议向无类协议转移时最容易出现的陷阱。收到长度不一致的路由是很平常的。当然,只要你认识到将会发生什么事情并且为此做好准备,就没有问题。
  
  你解决有关的问题可采取的策略是通过总结较小的路由让这些路由的长度都完全一致。显然,这在每一种情况下都是不容易办到的,但是,这是一种选择。另一个选择是在你的路由选择域之间做出更明显的边界。你在这些路由选择域中不允许在这个网络中的所有的路由器同时运行两种协议,仅允许运行连接这些路由选择域的协议。一定要认真过滤路由选择域之间的广播。 文章录入:csh    责任编辑:csh

(0)

相关推荐

  • 解决采用多路由协议的网络问题

    出于各种原因,很多网络都采用多路由协议.这种现象通常是由于合并和收购活动造成的,或者是在迁移期间临时出现的. 也许有许多路由器硬件厂商使用多种专有的协议与标准的协议连接在一起.一些路由器无论如何都将运行一个以上的协议,并且不可避免地从两个协议收到同样的路由,必须在转发这个数据包的过程中在这两个路由之间做出决策.这里的潜在问题是,这些协议也许有不同的"下一跳",很容易导致路由循环或者黑洞通信的问题.当你进行修改之后并且一切都正常工作之后,出现这类问题是特别伤脑筋的.但是,随后在网络的另一

  • 解决npm安装Electron缓慢网络超时导致失败的问题

    Electron 框架的前身是 Atom Shell,可以让你写使用 JavaScript,HTML 和CSS 构建跨平台的桌面应用程序.它是基于io.js 和 Chromium 开源项目,小编碰到npm安装Electron缓慢网络超时导致失败情况,下面我们来看看. 1. npm源过慢的话,可以把源切到国内的淘宝的镜像上. npm config set registry https://registry.npm.taobao.org 2. 到electron的国内镜像下载最新的安装包,主要看好自

  • Android采用GET方法进行网络传值

    前两天学习了使用GET方法来进行安卓与WEB的网络传值问题. 今天来说一下大概方法. WEB应用 在这里,我只建立一个简单的Servlet,用来接收安卓端发来的信息. package deu.hpu.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import

  • 解决Pytorch半精度浮点型网络训练的问题

    用Pytorch1.0进行半精度浮点型网络训练需要注意下问题: 1.网络要在GPU上跑,模型和输入样本数据都要cuda().half() 2.模型参数转换为half型,不必索引到每层,直接model.cuda().half()即可 3.对于半精度模型,优化算法,Adam我在使用过程中,在某些参数的梯度为0的时候,更新权重后,梯度为零的权重变成了NAN,这非常奇怪,但是Adam算法对于全精度数据类型却没有这个问题. 另外,SGD算法对于半精度和全精度计算均没有问题. 还有一个问题是不知道是不是网络

  • 如何解决在Azure上部署Sqlserver网络访问不了

    最近在部署Azure虚拟机的时候,一直访问不了网络数据库,一搜资料才知道,Azure默认是不打开入网规则的,需要手动设置. 在 Windows 防火墙中为数据库引擎的默认实例打开 TCP 端口 1.在"开始"菜单中,单击"运行",键入 WF.msc,然后单击"确定". 2.在"高级安全 Windows 防火墙"的左侧窗格中,右键单击"入站规则",然后单击操作窗格中的"新建规则". 3.在

  • OSPF路由协议概念及工作原理

    OSPF路由协议概念及工作原理 --随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用最多.应用最广泛的路由协议之一.OSPF(Open Shortest Path First)路由协议是由IETF(Internet Engineering Task Force)IGP工作小组提出的,是一种基于SPF算法的路由协议,目前使用的OSPF协议是其第二版,定义于RFC1247和RFC1583. 1.概述 --OSPF路由协议是一种典型的链

  • 网络路由技术及运用4

    四.在路由器上设置路由 目前比较流行的主要有CISCO和3COM路由器,普遍采用动态路由协议(如:RIP.IGRP.OSPF.EIGRP)来实现网络互联.我们以CISCO路由器为例简述. 如果一个小型或者中型网络,没有或者只有较小网络扩充时,采用手工方式输入静态路由并手工管理.但如果网络增大或者网络经常变化,静态路由管理开销将非常之大. 静态路由的优点是:(1)就带宽而言,静态路由没有开销.而在动态路由中,路由协议存在一个相关的带宽问题以维护它与临近路由器的关系.尤其是基于距离向量的协议对带宽要

  • Redis不是一直号称单线程效率也很高吗,为什么又采用多线程了?

    Redis是目前广为人知的一个内存数据库,在各个场景中都有着非常丰富的应用,前段时间Redis推出了6.0的版本,在新版本中采用了多线程模型. 因为我们公司使用的内存数据库是自研的,按理说我对Redis的关注其实并不算多,但是因为Redis用的比较广泛,所以我需要了解一下这样方便我进行面试. 总不能候选人用过Redis,但是我非要问人家阿里的Tair是怎么回事吧. 所以,在Redis 6.0 推出之后,我想去了解下为什么采用多线程,现在采用的多线程和以前版本有什么区别?为什么这么晚才使用多线程?

  • Android 破解视频App去除广告功能详解及解决办法总结

    Android 破解视频App去除广告功能 作为一个屌丝程序猿也有追剧的时候,但是当打开视频app的时候,那些超长的广告已经让我这个屌丝无法忍受了,作为一个程序猿看视频还要出现广告那就是打我脸,但是我有没有钱买会员,只能靠着毕生技能去耍耍去除广告了.下面就来介绍一下如何进行视频广告的去除. 一.视频广告播放原理 首先我们需要了解的一个基本知识点那就是广告其实也是一段视频,那么他肯定有请求地址和播放地址.那么我们的思路就来了,如果能够得到这些地址的话,我们就可以去除广告了,为什么呢?因为我们知道所

  • Windows下通过bat获取网络连线实际名称,加强IP类设置脚本的兼容性

    其中比较难解决的问题就是获取网络连线的实际名称,大部分人使用的IP设置脚本都是将[本地连接]写死在代码中,可实际上并不是所有电脑都叫本地连接:比如有的用户电脑可能升级了网卡驱动,或者更换了网卡,导致网络连线的名称变成"本地连接2",又比如有无聊好事者(某产线的作业员电脑),将网络连线的名称各种DIY,我就见过一个修改成"操蛋的青春",瞬间无语! 好了,废话不多说,直接上菜! 对于网络连线的实际名称,可能出现的情况有: 1.网卡更换/驱动升级导致名称变更,比如本地连接

随机推荐