当前位置: 首页 > 编程日记 > 正文

OSPF 提升 一 ----基础

ospf  ccnp内容

一  link-state protocols
IGP   开放式的最短路径优先协议     公有协议
支持中到大型的网络    spf算法 链路状态协议
1.传送的LSA     link status   advertisement   链路状态通告    包换拓扑信息
具体包括:网段的前缀   掩码  连接的路由器的哪些接口   直连哪些路由器
LSA分为7中类型
某些包含的是拓扑信息     但是有些包含的是路由信息
2.LSDB   lsa的集合     链路状态数据库
对此进行spf  算法  得到spf 树     (基于cost代价)再得出最优的路由   并将其加入到路由表中
3.既支持vlsm   变长掩码        又支持 cidr   路由聚合
4.封装
layer2| ip |ospf| fcs
直接封装到IP报头内     上层协议号为89     eigrp为88
二  link-state   data structures
1.neighbor table:
邻接表
2.LSDB
链路状态数据库        既包含拓扑信息  又包含路由信息
3.routing table
路由表
三 link-state routing protocols
1.link-state routers recognize more information about the network than their distance vector counterparts
信息更多    知道每个链路的具体状态连接信息
2.each router has a full picture of the topology in the every area.    每个路由器拥有同一区域内的所有拓扑信息
3.consequently,link-state routers tend to make more accurate decisions.
根据1和2   决策会更精确    主要是避免环路
四 link-sate data structure:network hierarchy
二层区域     基于路由器的接口
transit area    -----backbone or area 0     传输区域   或者核心区域或者主干区域    必须存在
regular area-----nonbackbone areas     常规区域    非主干区域   可以不存在
单区域划分时   唯一的区域可以是area0     也可以不是area0
拓扑展示
OSPF 提升 一 - 骡子 - stupidmule@126 的博客

有利点: a    减少路由表的路由条目的数量      ----汇总以及聚合   rc为area0和area1分别维护不同的LSDB
area0到area1传递域间的路由时用到LSA传递       这时候LSA中包含的不是拓扑信息  而是路由信息
而此路由信息由贝尔曼福特算法得出     此时会将路由汇总  称为域间汇总是重点     另一种汇总时域外 汇总
b 基于域间汇总  多条连续路由汇总成一条汇总路由     当其中一条路由变化时(除非所有这些路由都变 化   才将汇总路由删除)不影响汇总路由条目     也就是不会影响其他区域    拓扑变更  带来的影响  限 制在区域内   不向整网扩散
c 某些特定的LSA 只能在一个区域内进行泛洪        但是由于LSA包含的内容不一定都是一个类型的   所 以   LSA可以分为在区域内传    也可以在区域间传递     还可以在所有ospf域内传递
d 需求    部署ospf时   必须要基于层次化 划分
划分区域能够实现: a 减少路由条目数量   ---优化
b 限制拓扑变更传递的范围   ---优化
c 减少其他区域LSDB中LSA数量    ---优化
层次化的设计就是优化    所以ospf能够适应大的网络    但是单区域的ospf支持的网络范围毕eigrp小    但是分区域后就不同了
五 AREA TERMINOLOGY
名词: backbone     骨干路由器
ABR     area border router     区域边界路由器   一个接口属于area0    另一个接口属于area1
六 forming ospf adjacencies
邻接关系的分类
1两台路由器 只要三层直连  就是邻居   即hello能发过来
2完全建立7级ospf邻接关系   才叫   邻接     最后一级邻接关系叫做full级
邻接关系建立  用hello报文   组播     地址为224.0.0.5     常用           但是224.0.0.6为dr和bdr用的  不常用    当交换机收到hello的组播报文时   泛洪  给连接的所有路由器    耗费路由器的cpu资源      
3一个MA网段 越庞大    邻接关系越多   资源消耗过大     影响性能   所以出现DR  和BDR
DR    designated router    指定路由器
BDR bak designated router   备份指定路由器
邻接关系建立顺序
a DR和BDR建立邻接关系
b DR和其他DROTHERS路由器建立邻接关系
c BDR和其他DROTHERS路由器建立邻接关系
d DROTHERS之间只能够达到two-way的邻接关系    不能够达到full的完全邻接关系
4 路由器之间交互更新报文     只有当建立完全的邻接关系的时候
5 一旦邻接关系建立       两台路由器LSDB会包含相同的LSA的信息   即LSDB  相同
6 lsa在区域内泛洪
七 OSPF Calculation
ospf 算法
1.同一个区域内每个路由器有相同的LSDB
2.同一个区域内   收敛之后     每个路由器将自己作为树根
3.最低开销  cost    一条路径的总带宽    是最好的路径
4.将最优的路由条目放到路由表中
八 Link-State data structures:LSA Operation
LSU    ----update
LSDB中不存在相同的lsa信息    对于多个相同的lsa信息    接收序列号码较大的lsa信息    sequence number   类似于 VTP里的配置修订号     越大越新    描述新旧程度
OSPF 提升 一 - 骡子 - stupidmule@126 的博客

发送LSU    既支持周期性发送   30分钟一次          lsa老化时间为60分钟    --aging-time

也支持触发发送
序列号 四个字节    取值范围从0到4亿     (2的32次方-1)
最小的序列号位0x80000001        最大的序列号为0x7fffffff
线性的数字序列    当一台路由器收到最大序列号的lsa后    源路由器向目的路由器再次发送的lsa的序列 号又回到了最小值    如果此时再发送   则目的路由器已有的lsa序列号为最大值   收到最小序列号的lsa 无法更新    此为线性序列号
新方法为环形加线性    (具体看相关资料)
九 OSPF PACKE TYPES
ospf 报文分类
a  hello
b database description dbd
c link-state request 请求报文   lsr
d link-state update lsu
e link-state acknowledgment             lsack   确认报文
详解
a  hello发送周期分为10s和30s两种
hello hold的时间为发送时间*4即40s或120s
b dbd数据库描述报文 包含lsa的报头  即告诉邻居路由器  本地的lsdb中包含哪些lsa信息
同步lsdb过程中如果没有此描述可能会发送重复的lsa   造成资源的浪费导致低效
lsa中除了拓扑或路由信息的载荷外还有lsa的报头也叫lsa的摘要    报头中包含此lsa的标识   从而 避免 发送重复的lsa信息
c 路由器请求邻居有但是本地没有的lsa   以保证lsdb一致   根据交互的dbd    将没有的lsa的报头放在lsr中 表明需要的lsa
d 根据上面的一条 将邻居请求的lsa信息 放在lsu中由本地路由器发送给邻居
lsu包含完整的lsa信息
e lsack为确认机制 由ospf定义的确认机制
ospf定义了两类的确认 一种为显式的确认 另一类为隐式的确认(基于序列号的确认机制)
前者收到一个报文 针对此报文 生成一个单独的确认报文
(只有ospf支持隐士确认)后者收到一个报文 使用相同的报文再发送回来 序列号设置为一致 既传输了信息 又做了确认
1.hello报文  不需要确认
2.dbd报文 需要lsack确认   使用隐式确认   r1---》r2        然后r2用收到的dbd报文和相同的序列号发 给r1
3.lsr报文 显式确认     r1---》r2       然后r2用lsu做确认返回给r1
4.lsu报文 用lsack确认   注意lsu包含多条lsa   而lsack是针对lsa的  所以有多少lsa   就会有多少lsack报 文
5.lsack报文 不需要确认
简述就是5确认4       4确认3 3确认2   2确认2本身 1不需要确认
十 ospf packet header format
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
a version     v2应用于ipv4
v3  可同时用于ipv4和ipv6
b 对应ospf报文的五种类型  从1到5
c 报文长度包括ospf报头在内的长度
d router id  路由器id   1.  手工配置      建议
2.自动配置为 所有up up 的环回扣中选举最大的ip地址
3.物理接口最大的ip地址    状态为up  up
e area id 区域id   用于层次化的部署   4字节    可以用阿拉伯数字    也可用点分十进制    必须包含此字段
f check-sum   校验和
g authentication type   认证类型   明文或者密文   分三级    0级不认证    1级为明文认证      2为密文认证
h authentication      秘钥   如果上一个字段是0   即不认证   则此字段无值为空
i data 报文内容  根据五种类型不同  内容也不同
十一 hello报文   重点
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
其中的*号代表两台路由器  此字段需要设置为一致   才能建立邻接关系
eigrp   hello发送周期取决与带宽    >1.54m    为5s/次        <1.54m   为60s/次
ospf  hello发送周期取决于 网络类型   而不是带宽   分为10s      和30s
neighbors 字段存储邻居的router id
area id 区域id
router priority MA网段有此概念      点到点网络没有此概念
DR ip address 描述此MA网段   哪个是DR
BDR IP address 描述此MA网段   哪个是BDR
authentication password  认证秘钥
stub area flag 末节区域标记    ospf的非骨干区域里包括多种区域类型
分               为:常规区域       末节区域        完全末节区域         次末节区域       完全次末节区域
十二   邻接关系建立过程
1.down 初始状态  接口被宣告进ospf    没有发送任何报文
2.init 通过接口发送一份hello
3.two-way 通过接口收到一份neighbor字段包含自身rid的hello
4.exstart 交互3个不带lsa报头的dbd   选择MASTER/SLAVE
5.exchange 由master发起的带有lsa报头的dbd信息交互
6.loading 交互lsr   lsu   以及lsack实现lsdb的同步
7.full 一旦同步 邻接关系到达full     邻接关系建立完成
(1) init------->two-way
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
A发送hello报文   neighbor字段为空        链路状态到达init
B收到后发送hello报文  neighbor字段包含A的id
A收到B发过来的hello报文  链路到达two-way状态
对于MA网段     进入到two-way阶段   就开始进行DR和BDR的选举
(2) exstart -------》exchange
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
a 开始发送DBD报文       此为建立邻居开始第一个DBD     称为first  dbd     不包含任何的lsa报头 路由器 之间 会双向交互两个到三个DBD  目的是选举一个关系  --------主从关系----- master/slave      用来发起接下来 的DBD的交互
b DBD采用隐式确认        主从关系选择根据路由器的router id 决定   谁高谁就是主  因此需要交互三个dbd才 能确定主从关系
在dbd报头中有flag字段   包括三个bit: I     M     M/S   分别代表init      more     master/slave
router A发送的第一个DBD:I=1     M=1    M/S=1      即0x7       假设sequence=100    被发送给Router B
router B收到后比较router id   发现自己更大是   所以发送DBD:I=1    M=1    M/S=1      假设 sequence=200      被发送给router A
router A收到后  发现B是主   自己是从  同时需要给sequence=200的DBD报文做确认
所以DBD:I=0    M=1    M/S=0 =自己是从   即0x2        sequence=200    发送给router B
接下来就由router B带起     DBD的交互   此时DBD会包含lsa的报头
在DBD中存在一个MTU的字段   不影响主从结果     但是会干扰主从关系的过程   如果MTU不一致   可能会 一致卡在exstart state状态     所以MTU尽量一致    如果不一致需要用高级特性调整   以使邻接关系尽快 建立
c 下一个exchange state  就是由主路由器发起的带有lsa报头信息的DBD报文的交互过程   用来彼此告诉对方 本地所拥有的lsa信息   一直到协商完毕
(3)loading state------》full state
OSPF 提升 一 - 骡子 - stupidmule@126 的博客

a. 在第2步中 的exchange state状态可能出现的情况  路由器A和B之中的LSDB中的lsa数目可能不相同  由 此导致的互相传输的dbd数量不同    举例导致A传输4个dbd    确认的dbd报文可能只有4个    B传输10个dbd     此 时剩余的6个dbd报文需要用lsack来确认    才会出现loading state之前的lsack的交互    即无法隐式确认时只能显式 确认 dbd同步完毕

b. 在loading过程中交互lsr和lsu    一直到lsdb同步
c. 最后到达full的状态

实验:
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
同一区域内   r1和r2两个路由器ospf通信    路由器进程号可以不同
即    A     router ospf 11
B router ospf 22
两个名称不同的进程
a 有用的show命令
show  ip ospf interface
show IP int brief
show ip ospf neighbor         其中串口的点到点网段   没有优先级   所以priority=0
show ip protocols
b 模拟优先宣告状况     查看邻接关系建立过程
先关闭serial接口
再开启debug 命令
debug   ip ospf packet
debug   ip ospf  adj       邻接关系状态
c 修改MTU 查看邻接关系状态
r1#interface serial 1/1
ip mtu 1492 1492为改后的值 默认为1500
但是r2的mtu仍然是1500 两端不一致
然后清理ospf进程
clear ip ospf process 
通过show ip ospf neightbor命令查看
state   字段的值为exstart     卡在了exstart
可以通过命令无视mtu的设置
ip ospf   mtu-ignore     在一端或者两端敲此命令   均能实现
d 修改hello时间和dead时间
hold时间随hello的时间的改变而改变 -----ospf可以   但是eigrp不会改变
在ospf中
IP ospf hello-interval 12     12为hello的时间
show ip ospf interface serial1/1   显示  dead时间变为48
如果时间不一致   则show IP ospf neighbor邻居显示为空    但是状态会停留在init状态
如果只修改dead时间  只能影响wait时间   与dead时间一致不会影响hello时间   原因是可能除4会出小数
e 路由
ospf不自动汇总
r1#show IP route ospf查看路由条目
在上图中 r1中的路由表中应该包含r2的环回口路由      r2-r3网段的路由    和r3的环回口路由
但是在显示结果中    换回口的路由会表现为3.3.3.0/32   掩码为32位   原因是osp会自动将环回口的路由 改变为32位  精确路由条目 而eigrp中不会改变  即为原来设置的3.3.3.3/24   这样针对eigrp可能会 出现路由黑洞  而ospf不会出现
1.ospf中命令
show ip ospf interface loopback0
显示的环回口的描述显示  as a stub host   当做一个末节主机来处理
如果想在ospf中变为原来设置的一样   则需要把网络类型修改为点到点类型
#interface loopback 0
#ip ospf network point-to-point
此时不会被当做末节主机处理
f 在MA网段建立OSPF邻接关系时DR和BDR的选举原则
先看1.参与该MA网段的路由器接口的OSPF优先级 越高越好 范围0-255,缺省值为1
再看2.该MA网段所连接的路由器的router id,越高越好
拥有最好属性的DR 拥有次好属性的是BDR 所有其他的是DROTHERS 选举过程持续时间为40s 取决于wait时间 当邻接关系到达two-way状态时 注意从第一到达two-way状态的路由器宣布 开始DR 和BDR的选举 即从此时开始倒计时  40s或者120s 选出后结果不会改变  
AAAA 即DR和BDR无法被抢占
所以在不选DR和BDR的网段 效率更高
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
实验验证DR和BDR的选举
r1   环回口 1.1.1.1       物理口  100.1.1.1    router -id 1.1.1.1
r2   环回口 2.2.2.2       物理口  100.1.1.2    router -id 2.2.2.2
以上全部宣告进ospf的进程
查看命令 show ip ospf neighbor
状态在2way状态  等待40s DR和BDR才能选出来 再到达exstart状态
在此例中 r1和r2的接口优先级均为1 所以比较router-id 所以r2的大 所以它是DR r1为BDR
测试改变接口的优先级 DR能否被抢占
命令如下
int fa0/1
ip ospf priority 10 将路由器接口的优先级改为10
查看 show ip ospf neighbor
显示 r2 仍然是DR 所以证明DR选出之后不能改变 BDR无法抢占DR的身份
测试BDR能否被抢占
再添加一台路由器 R3
OSPF 提升 一 - 骡子 - stupidmule@126 的博客
配置    环回口 3.3.3.3     物理口   100.1.1.3        将接口优先级改为255
show ip ospf neighbor 查看结果没变化 r1是BDR r2是DR
r3是DRTOHER
如果此时r2down掉 则r1变为DR 不会因为r3的优先级高而变为DR r3只能是BDR
BBBB 得出结论:DR down掉 原来的BDR会立即变为新的DR 而新的BDR由剩下的所 有DROTHERS之间重新选举出来 这叫做二次选举 不需要等待40s的时间
CCCC DR和BDR属于接口级别的概念 每个MA网段都需要属于自己的DR 和BDR 通过相 同的机制单独选举出来
重要的特性: ospf ma网段接口的ospf优先级如果值为0 代表的不是优先级的最小值 而是该接 口没有资格在这个网段参选DR和BDR 只能成为DROTHER
实验测试 将r1和r2的接口优先级设置为0 看一下只有DR MA网段是否能够正常的运作
r1#IP ospf priority 0 首先进入接口再打此命令
r2#IP ospf priority 0
在r3上 show ip ospf neighbor会显示r1和r2都变为DROTHER
然后show IP route 查看路由是否有变化 发现一切正常
证明 一个MA网段中可以只有DR 而没有BDR
尤其在帧中继中特别有用 ---轴辅型拓扑 hub and spoke 中心节点为DR 不要B DR DR是hub节点 作用收集所有邻居信息再传送到其他邻居 需要连接到所有节点 在 帧中继中只有hub节点连接到所有邻居 spoke节点只能连接到hub 所以只有DR 没有B DR
DDDD 在ethernet环境中建议拥有DR和BDR实现备份 而在FR frame repeater 帧中继环 境中 只能是hub节点称为DR 任何spoke节点都不能称为DR或BDR
EEEE 在MA网段中 如果 DR 和BDR都没有 用实验检测就是所有的路由器接口优先级都设置为0( 基于DDDD条目) 网段内不会有任何的lsa交互 邻接状态只能到达two-way这一级 也就是没有任何ospf路由 存在。
FFFF 一台路由器 运行ospf 只要在一个接口开启了ospf进程,则该接口会立即监听发往224.0.0. 5的组播组流量,而仅当一个节点成为DR或者BDR时,该接口才会同时监听发往224.0.0.5和224.0.0.6的组播组 流量 在一个MA网段内,所有路由器发送给DR和BDR的报文的目的地址都是.6 而DR将LSA整合之后就以. .5的组播地址发送给网段内所有其他的路由器。 在点到点网段没有.6的存在 因为没有DR和BDR
问题    为什么会有.6的组播地址    
答案:试想如果没有.6的组播地址   只有.5的地址    在一个域内   所有的路由器都监听.5的组播地址    那么每台路由器发送的lsa信息会被其他所有的路由器所接收  加大占用带宽  浪费cpu资源  也就失去了DR和 BDR存在的意义  而如果有.6的存在 所有的DROTHER路由器将LSA信息发网.6的组播地址  只有DR和BDR
能够收到此LSA信息   减少资源开销    等DR中的LSDB建立完成之后     DR再将所有lsa信息以.5的组播地址发送 出去  DROTHER路由器监听的.5地址会收到此LSA信息   达到同一区域内LSDB同步的目的

转载于:https://www.cnblogs.com/dongguolei/p/7902638.html

相关文章:

C#实现网页截图功能

//需要添加System.Drawing及System.Windows.Forms引用 using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Windows.Forms; namespace 网页截图 { class Program { [S…

微软发布全新多核心操作系统原型:Barrelfish

Windows 7完成之后&#xff0c;很多人开始把目光投向微软的下一代服务器和客户端操作系统Windows 8&#xff0c;不过今天微软放出了一套全新操作系统的原型&#xff0c;开发代号“Barrelfish”。该系统由微软剑桥研究院和苏黎世理工学院联合全新开发&#xff0c;专为现在和未来…

Docker应用:Kubernetes(容器集群)

Docker应用&#xff1a;Kubernetes&#xff08;容器集群&#xff09; 原文:Docker应用&#xff1a;Kubernetes&#xff08;容器集群&#xff09;阅读目录&#xff1a; Docker应用&#xff1a;Hello WorldDocker应用&#xff1a;Docker-compose&#xff08;容器编排&#xff09;…

通道应用——抠头发

通道应用——抠头发 原图&#xff1a; 效果图&#xff1a; 步骤&#xff1a;1、打开原图的“通道面板”&#xff0c;选择颜色对比分明的绿色通道&#xff0c;并新建一个绿色通道副本&#xff1b;2、选择“图像”-“调整”-“色阶”&#xff0c;调节色阶使得头发颜色更分明些&am…

2017 ACM/ICPC 南宁赛区小结 By JSB @ Reconquista

Statistics TYPE: Onsite ContestNAME: 2017 - ICPC - Asia NanningPLAT: pc^2TIME: 2017/11/26 09:00-14:00LOCA: Guangxi UniversityTEAM: Reconquista[shb,lsmll,jsb]RANK: 8/227 3.52%SOLVE: 8/13PENALTY: 451 ◦ A - 1 ◦ E - 123 (2) ◦ F - 8 ◦ H - 55 ◦ I - 97 (1) ◦…

用户管理系统控制台版连接数据库

建User表 CREATE TABLE user (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(20) DEFAULT NULL,pwd VARCHAR(20) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEINNODB AUTO_INCREMENT5 DEFAULT CHARSETutf8User对象&#xff08;javaBean&#xff09; public class User {priva…

微信小程序组件 日历

js文件 use strict;let choose_year null,choose_month null;const conf {data: {hasEmptyGrid: false,showPicker: false},onLoad() {const date new Date();const cur_year date.getFullYear();const cur_month date.getMonth() 1;const weeks_ch [ 日, 一, 二, 三, …

node编写定时任务,for循环只执行一遍的解决办法

在用node编写定时任务时候&#xff0c;发现for循环只执行i0这一次&#xff0c;就不接着循环执行了&#xff0c;下面贴上代码&#xff1a; exports.task async function(ctx){ let { app } ctx, resultArr1 [],//查询的数据库数据 resultArr2 [];//查询的数据库…

oledb读不到dbf文件内容

最近在处理一批VFP的数据库&#xff0c;使用OleDB方式读取一直很正常&#xff0c;前两天突然碰到一张表怎么也读不出数据来&#xff0c;害我瞎忙了一整天&#xff0c;在研究了DBF文件结构后发现记录前的0x20位置存储的是0x2A。 一查才知道是删除标记&#xff0c;我倒&#xff0…

好用的截图工具

好用的截图工具...简单好用而且不大转载于:https://blog.51cto.com/dd123/208983

“AS3.0高级动画编程”学习:第二章转向行为(上)

因为这一章的内容基本上都是涉及向量的&#xff0c;先来一个2D向量类&#xff1a;Vector2D.as (再次强烈建议不熟悉向量运算的童鞋&#xff0c;先回去恶补一下高等数学-07章空间解释几何与向量代数.pdf) package {import flash.display.Graphics;public class Vector2D {privat…

用Azure VM + Azure Database for MySQL搭建Web服务

仍然是一篇动手实验&#xff0c;实验演示如何在Azure的虚拟机内部署一个Web服务器&#xff0c;并且使用Azure Mysql PaaS作为本应用的数据库。此实验的目的一方面是为了演示Azure IaaS层和PaaS服务配合使用的常规操作&#xff0c;另一方面是为之后的文章打基础&#xff0c;后续…

C3P0_and_pro.properties配置文档代码

C3P0-config.xml配置文件 <c3p0-config> <!-- 默认配置&#xff0c;如果没有指定则使用这个配置 --> <default-config><property name"driverClass">com.mysql.jdbc.Driver</property><property name"jdbcUrl">jdbc:…

电视信号——行场同步

电视信号分NTSC制和PAL制两种制式, NTSC制每秒刷新60次, 而PAL制每秒刷新50次。 水平消隐&#xff1a;电子枪从左到右画出象素&#xff0c;它每次只能画一条扫描线&#xff0c;画下一条之前要先回到左边并做好画下一条扫描线的准备&#xff0c;这之间有一段时间叫做水平消隐&am…

QWidget一生,从创建到销毁事件流

版权声明&#xff1a;若无来源注明&#xff0c;Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址&#xff1a;本文标题&#xff1a;QWidget一生&#xff0c;从创建到销毁事件流 本文地址&#xff1a;http://techieliang.com/2017/11/319/ 代码较多&#xff…

事物_软件分层

事务 事务是&#xff1a;在数据库指业务处理的”一个业务“对应数据库中的多个步骤的操作。例如银行转账。 面对的问题&#xff1a;程序接受请求后&#xff0c;会至少发送两条SQL语句&#xff0c;两条语句之间会有时间的间隔&#xff0c;如果间隔时间期间Mysql服务器发生意外&a…

雷林鹏分享:jQuery EasyUI 数据网格 - 创建属性网格

jQuery EasyUI 数据网格 - 创建属性网格 属性网格(property grid)带有一个内置的 expand(展开)/collapse(合并) 按钮&#xff0c;可以简单地为行分组。您可以简单地创建一个可编辑属性的分层(hierarchical)列表。 设置 HTML url"propertygrid_data.json" showGroup&q…

as3.0中如何阻止事件冒泡?

as3.0中的事件冒泡机制有时候会很烦人&#xff0c;比如一个Sprite(方便下文描述就命名为Container吧)把另一外Sprite(称为Child吧)做为子元素套进来以后&#xff0c;如果两个Sprite都注册了Mouse_Down事件&#xff0c;要想在Child上点击鼠标时系统只响应Child的Mouse_Down事件&…

紫色回归线:雅虎中国的运筹学

共同体并不意味着一个我们可以获得享受的世界&#xff0c;而是一个我们热切希望栖息、希望重新拥有的世界。—— 齐格蒙特.鲍曼紫色回归线&#xff1a;雅虎中国的运筹学紫色是比较中性的颜色&#xff0c;但紫色在生活中却也是温柔、神秘、甚至性感的代词。当雅虎中国将主色调重…

JavaScript_上

javaScript JavaScript,简称JS&#xff0c;是Web开发中不可缺少的脚本语言的&#xff0c;不需要编译就可以运行&#xff08;解释性语言&#xff09;。它“寄生”在HTML体内&#xff0c;随网络传输到客户端在浏览器中运行。js代码可以写到html的任何地方。一般写在 body 结束标签…

java类加载的表现形式

java中的类是动态加载的&#xff0c;我们先看一下我们常用的类加载方式&#xff0c;先有一个感性的认识&#xff0c;才能进一步 深入讨论,类加载无非就是下面三种方式。 class A{} class B{} class C{} public class Loader{ public static void main(String[] args) throws Ex…

.net core在vs开发环境下脱离iis运行

.net core相比之前.net的是一个可以跨平台&#xff0c;脱离iis运行的语言&#xff0c;并且项目启动的效率要比用iis启动快&#xff0c;可以说进一步提高了开发的效率。要想自己的项目core脱离iis&#xff0c;首先选择vs启动项目的载体&#xff1a; 如下图&#xff0c;不要选择I…

Sublime遇见中文乱码问题?

今天在写demo的时候&#xff0c;突然发现html页面上的中文在浏览器上显示乱码~&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 这时&#xff0c;我根据网上的提示安装了两个插件:converttoUtf-8&#xff0c;support Gbk ~~~然而&#xff0c;好像无济于事~~ 于是…

Dynamics AX 2009 升级PreSynchnoize时的无反应的解决

问题: 安装完升级补丁后在Data upgrade cockpit窗口点击Run或Train Run按钮后Update Job没有开始&#xff0c;始终显示为Ready状态。 #1 原因&#xff1a;数据库以前已经做过升级&#xff08;例如安装过AX 2009 SP1&#xff09;并且已经存在一个DataUpdate批处理组但是针对这个…

如何 搭建 RMAN 备份平台

一&#xff0e; RMAN 的一些理论知识RMAN Catalog 和 Nocatalog 的区别http://blog.csdn.net/tianlesoftware/archive/2010/06/02/5641763.aspxRMAN 系列&#xff08;一&#xff09;---- RMAN 体系结构概述http://blog.csdn.net/tianlesoftware/archive/2010/06/09/5659701.asp…

git更新代码报错,error: The following untracked working tree files would be overwritten by ch

git忽略大小写导致的&#xff0c; git config --add core.ignorecase true 转载于:https://www.cnblogs.com/newcbs/p/10732662.html

JavaScript_下_Dom

Dom对象 Dom对象&#xff1a;Document Object Model 文档对象模型。js是用来操作html的。 一个文档必须被加载到浏览器中&#xff0c;会按照HTML的层级结构转换成一个“家谱树”称为dom树。HTML文档里的所以的标签&#xff0c;属性&#xff0c;文本都会转换成dom树上的节点。 …

HDU 4300 Clairewd’s message

一道KMP的变式 本题仍是求最大前缀后缀&#xff0c;所以仍用KMP&#xff0c;但不同的是&#xff0c;本题有一个密码转换规则&#xff0c;不过好在题目中说了两段不重合&#xff0c;那么我们就可以在中间插入一个特殊符号*&#xff0c;保证求next数组时不会越过中线&#xff0c;…

GNS3模拟VPC注意几点

网上的GNS3入门到精通视频的确做得不错。现我写一下主要几点&#xff1a;1、创建MS lookback 适配器在添加硬件那里&#xff0c;并注意IP设置要在本地网卡同一子网&#xff0c;网关不用设置的。2、GNS3 的Dynamips目录的cygwin1.dll文件替代VPCS目录中文件。3、GNS3中的模拟PC先…

Windows Phone 7 Tip (5) -- App liftcycle

在新的trainning kit 中有一个例子解释的很清楚了&#xff1a; 1. Application_Launching&#xff1a;只有在新启动程序时触发 2. Application_Closing&#xff1a;只有在推出程序时触发--只有在程序mainpage时按硬后退键 3. Application_Activated&#xff1a;从home键或者其它…