链路状态路由协议OSPF的特征.术语.包类型.邻居关系的建立.RID的选择.DR和BDR的选举.度量值的计算.默认路由.验证等. 文章目录 [*1*].链路状态路由协议概述 工作过程 优缺点 [*2*].OSPF概述和基本配置 特性 术语 包格式 包类型 邻居关系的建立过程 基本配置实例 Router ID选举规则 DR和BDR选举规则 度量值计算方法 [*3*].OSPF高级配置 验证实例 默认路由实例 [*1*].链路状态路由协议概述 链路状态路由协议使用Dijkstra算法,也称SPF(S…
OSPF协议原理及配置3-邻居关系的建立   OSPF协议的邻居关系是通过交换Hello报文建立的,所以我们先对OSPF的报文的种类,及Hello报文的结构做一了解. 1 OSPF协议有5种协议报文(很重要,后面会依次介绍) Hello报文:用于发现和维护邻居关系,在广播型网络和NBMA网络上Hello报文也用来选举DR和BDR. DD报文:通过携带LSA(链路状态通告)头部信息来描述链路状态摘要信息. LS Request报文:用于发送下载LSA的请求信息,这些被请求的LSA是通过接收DD报文…
OSPF协议原理及配置4-邻接关系的建立和LSDB同步   进入ExStart状态后,广播和NBMA型网络要等待4倍的Hello时间,确定DR和BDR.然后建立邻接关系,并交互链路状态通告,以使用LSDB达到一致,进而完成路由表的计算和生成. 1 状态的变化 ExStart:主从关系是在此状态下形成的(router ID大的为主).确定主从关系目的是确定DD交换过程中的序列号(LS Sequence Number,后面会有介绍),以保证DD包传输的可靠性,初始DD序列号是在此状态下决定的.邻居状…
前文我们了解了OSPF建立邻居关系的条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15032907.html:今天我们来聊一聊OSPF中的DR和BDR: 在说DR和BDR之前我们先来了解下OSPF的网络类型: 首先OSPF的网络类型是基于接口来划分,其次OSPF的网络类型是通过接口的二层封装报文的方式进行了划分,默认情况下OSPF把接口二层是以太网封装的网络称为广播类型,把接口二层是PPP或者HDLC封装的网络称为点到点类型: 在生活中,广播就是一个…
前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html:今天我们来聊一聊OSPF的度量值以及基础配置命令相关话题: 我们知道路由器的作用就是维护路由表和根据路由表中的路由来进行数据包转发:其中路由表中有目标网络.掩码.优先级.开销.下一跳.出接口等信息:其中开销(cost)这个字段就是用来描述到达目标网络的开销:对于不同类型的路由,其开销这个字段的意义各…
前文我们了解了IS-IS的报文结构和类型相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15260670.html:今天我们来聊一聊IS-IS建立邻居.同步LSDB数据库和拓扑计算及路由形成相关话题: IS-IS动态路由协议的工作流程和OSPF工作流程大致一样:都是先发送Hello包,通过hello包建立邻居,在邻居建立完成以后,同步LSDB数据库.计算拓扑和路由:细微的差别在于IS-IS整个建立邻居的过程没有OSPF那么复杂,相对来说IS-IS更…
在OSPF的DRBDR选举的过程中,DR的选举依靠的是hello报文,在two-way之后,交互hello报文完成DR/BDR的选举. 那么在每台路由器根据收到的所有hello报文,会构建自己接口的数据结构,并按照一下算法,计算出DR/BDR: 1.路由器接口数据结构中维持三个集合,分别是: (1)DR集合:通过hello报文学习到的所有的DR路由器 (2)BDR集合:通过hello学习到的所有BDR路由器 (3)DRother集合:没有被选举为DR/BDR的路由器,但优先级不为0,因为一旦优先…
一.实验拓扑 二.实验编址 三.实验步骤: 1.设置路由器的端口IP等信息 2.搭建ospf网络 重启(退出系统模式):reset ospf process 查看: 查看完整的邻居信息: 可以看到DR是:R2 DBR是R3 3.根据需求影响DR和BDR的选举 R1为DR,R4为DBR 设置ospf优先级,R1端口为100,R2为50,R4为0 注意,设置完之后,DR不发生改变,因为他是非抢占的,我们需要重启一下 测试: 可以看到,现在已经按照需要设置了DR和BDR…
目标 掌握OSPF路由汇总的配置 掌握OSPF默认路由的配置 一.——区域间汇总 配置IP,R2四个环回口 R1(config)#inter s1/0 R1(config-if)#ip add 200.1.1.1 255.255.255.0 R1(config-if)#no shut R1(config-if)#inter lo 1 R1(config-if)#ip add 1.1.1.1 255.255.255.0 R1(config-if)#ip ospf network point-to-…
OSPF邻居关系故障-现象与排除 一.OSPF邻居关系故障-现象与排除 1.OSPF建立邻居关系时,将检验hello报文中的Area ID .Autype.Authentication.network mask.hello interval.router dead interval字段以及可选项的值是否和接收接口上配置的对应值匹配,如果它们不匹配,那么该数据包将被丢弃,而且邻接关系也无法建立. 2.OSPF邻居关系故障的常见现象为: 1).OSPF邻居表为空 2).OSPF邻居停滞于INIT状态…
第一部分 硬件识别包类型 网卡,是可以识别包类型的.在dpdk的API中.识别完之后,存在这个结构里: struct rte_mbuf { ...... union { uint32_t packet_type; /**< L2/L3/L4 and tunnel information. */ struct { uint32_t l2_type:; /**< (Outer) L2 type. */ uint32_t l3_type:; /**< (Outer) L3 type. */ u…
//V推论①:指针变量的步长只与‘指针变量的值’的类型有关(指针的值的类型 == 指针指向数据的类型) //指针类型跟指针的值有关,指针是占据4个字节大小的内存空间,但是指针的类型却是各不相同的 //指针的类型决定了指针指向的内存空间从哪个位置开始,从哪个位置结束 //普通变量名是一段内存空间的标识,普通变量名代表的是一段内存空间, //对于复杂变量(例如指针):要知道某个指针的步长,必须确定指针的类型 //指针的值永远是一个十六进制数字,但是这个十六进制数字指向的内存空间却是不相同的 //in…
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea   版权声明:觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐(额,就是文章底部的“顶”啦),要是嫌弃麻烦呢,也麻烦点个赞嘛,要是实在不想点赞呢,也不是不可以. 但是,你要是想踩一脚呢,那还是赶紧,马上,快快的闪人. 小心我手里三十米长的大刀. 哼哼.想想都怕 !!! https://blog.cs…
Maven 组件界面介绍 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目.一般单我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入. 第六个按钮:Execute Maven Goal 弹出可执行的 Maven 命令的输入框.有些情况下我们需要通过书写某些执行命令来构建项目,就可以通…
如何在eclipse中显示包的层次关系呢?如下图所示…
    新手入门:C/C++中数组和指针类型的关系 对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识! 一个整数类型数组如下进行定义: int a[]={1,2,3,4}; 如果简单写成: a;//数组的标识符名称 这将代表的是数组第一个元素的内存地址,a;就相当于&a[0],它的类型是//注意这里的表示就是将a数组的起始地址向后进一位,移动到第二个元素的地址上也就是a[0]到a[1]…
Mysql,Oracle与Java字段类型映射关系 参考相关博文 MySQL/Oracle字段类型 Java字段类型 最大长度 BIT java.lang.Boolean 1 BLOB java.lang.String null LONGBLOB java.lang.byte[] null MEDIUMBLOB java.lang.byte[] null CLOB java.sql.Clob null CHAR java.lang.Char null TEXT java.lang.String…
# 一.执行流程 首先我们构建一个简单http server: ```go package main import ( "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello world")) }) log.Fatal(http.Liste…
1:默认路由 遇到问题:给r2配置向右的单项默认路由,通过PC1去ping主机PC2,一直显示Request timed out, 解决方法:r2配置如下: r2(config)#ip route 0.0.0.0 0.0.0.0 13.1.1.1 r2(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2 2:RIPV2 r1(config)#router rip r1(config-router)#v 2 r1(config-router)#no au r1(co…
javax.Servlet的包中,属于类的是.(选择1项) A.Servlet B.GenericServlet C.ServletRequest D.ServletContext 解答:B ServletContext和ServletRequest是该包下的接口.…
1:默认路由 遇到问题:给r2配置向右的单项默认路由,通过PC1去ping主机PC2,一直显示Request timed out, 解决方法:r2配置如下: r2(config)#ip route 0.0.0.0 0.0.0.0 13.1.1.1 r2(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2 2:RIPV2 r1(config)#router rip r1(config-router)#v 2 r1(config-router)#no au r1(co…
转自:http://www.cnblogs.com/ywlaker/p/6136625.html 很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些spring的依赖,只有拷贝,其实,当初我就是这么干的! spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖了若干其他jar,所以,…
如果你对final和不可变类型的概念与区别有疑问的话,可以打开这篇文章.希望我的解答可以帮到您! 1.不可变类型: 什么是可变类型,什么是不可变类型呢? 首先我们看一下下面的这行代码: String s=new String("a"); s=s+"b";System.out.println(s); 只要你懂得一点java,那么你一定可以推测出最后的结果是"ab". 但是,事情其实并没有那么简单.如果你debug这三行代码,会发现一个"微…
有两个包pack1和pack2,pack1中是父类,pack2中子类继承自pack1中的父类.这里主要探索一下子类访问父类中protected内部类的问题: 第一个类: package pack1; public class BaseClass { protected class InnerProt {} public class InnerPub{} } 第二个类: package pack2 import pack1.*; public class Mytest extends BaseCl…
#数据包传输 以本地为目标 ---------------------------------------------------------------------------------------------------- Step Table Chain Comment 1 在线路上传输(比如,Internet) 2 进入接口 (比如, eth0) 3 mangle PREROUTING 这个链用来mangle数据包,比如改变TOS等 4 nat PREROUTING 这个链主要用来做D…
在Nuget管理包时,有可能A包的存在需要B包的支持,A包在安装之前,需要先安装B包,这就叫做依赖关系,而在NUGET里,确实有这种概念,比如大叔的Lind.DDD.Manager包,它就依赖于Lind.DDD,在你安装Lind.DDD.Manager时,Nuget会检测它是否有依赖关系,如果有,它会先安装依赖项.…
在程序设计中经常用到一系列的数据类型,在Java中也一样包含八中数据类型,这八种数据类型又各自对应一种包装器类型.如下表: 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long Long float Float double Double 为什么存在这两种类型呢? 我们都知道在Java语言中,new一个对象存储在堆里,我们通过堆栈中的引用来使用这些对象:但是对于经常用到的一系列类型如int…
如果是用命令行,可进入项目所在目录,然后输入: mvn dependency:tree ,来查看jar包依赖关系. 另外还可以在eclipse操作,如下图所示: 点击run后,开始输出JAR包依赖树. 我在执行这步的时候报了下面的异常: Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.graph.DependencyNode 在网上搜了好多地方都没有类似的错误,后来参考了一些帖子,怀疑是maven-dependen…
结构元素 结构元素包括,类,对象,接口,用例,参与者. 类图 类图图示      类图是UML中最基本的元素了吧?根据OO的思想"天下一切皆对象",而类是对象的抽象.      左侧图示为一个类图.顶端"ClassName"表示类名      中间部分为该类的属性,其中分别表示为可访问性,属性名,以及属性的数据类型.      第三部分为该类的方法,包括方法的可访问性,方法名,方法的参数以及方法的返回值.      需要说明的是:          "#&…
1 debian包之间存在两大类关系 第一,依赖 第二,冲突 2 依赖类关系 2.1 depends 2.2 pre-depends 2.3 recommends 2.4 suggests 2.5 enhances 3 冲突类关系 3.1 conflicts 3.2 breaks 3.3 replaces…