一、OSPF ProcessID本地有效
 

 
    首先明确一下,OSPF ProcessID,范围为1-65535,用于在路由器本地标识OSPF进程。
看上图,R1使用进程号10创建了一个OSPF进程,同时宣告了自己的直连接口;而R2使用进程号20创建了一个OSPF进程,同时也宣告了自己的直连接口。虽然这两个进程号不一样,但是我们说,OSPF进程号只是本地有效,这句话的意思是,对于R1而言,它并不关心它的直连OSPF邻居-R2使用的是什么OSPF进程号,10也号,20也罢,这就有点像“自己的事自己知道” - 本地有效。
    当然,在实际的部署中,我们还是特别建议全网使用一样的进程号(虽然你可以试着在每台路由器上使用不同的进程号,这当然不影响网络的运行,但是……你特么不会真这么干吧?)
 
二、一台路由器可创建多个OSPF进程,使用OSPF ProcessID进行区分,不同的进程相互独立
 
我们再看下图,
 
    这个图很有意思,在R2上,常规的做法是,用一个进程号创建一个OSPF进程,同时将自己的两个直连接口宣告进这个OSPF进程,但是为了讲解OSPF进程ID的本地意义,我这里在R2上使用两个OSPF ProcessID创建了两个OSPF进程,并且分别宣告了R2的直连接口,换句话说,R2使用OSPF进程20与R1建立邻居关系,使用OSPF进程30与R3建立OSPF邻居关系。
 
    如此一来,R2在本地就有了两个OSPF进程,使用ProcessID 20及30进行区分,这就是进程号的本地意义。  
    那么这两个进程,都会各自从其邻居R1和R2学习到OSPF路由,但是值得强调的是:
  • 这两个OSPF进程相互独立,换而言之,R2通过OSPF进程20从R1学习到的OSPF路由(严格的说,应该是LSA),例如1.1.1.0/24,默认不会直接更新给R3(这是因为在R2,这两个OSPF进程互相独立互相隔离),当然,从R3更新过来的OSPF路由,R2虽然自己能学习到,但是,照样不会传递给R1,这就好像,这两个进程,虽然都在R2上,但是有那么点隔阂,世界上最遥远的距离,莫过于此啊。
  • 再者,R2这两个OSPF进程虽然说彼此隔离,但是都可以为R2自身贡献路由,例如如果R1更新过来一条路由1.1.1.0,R3更新过来一条3.3.3.0,那么在R2的全局路由表里都是能看到这两条路由的。而且我们上面说了,这两条路由,不会互相灌进对方的OSPF进程(造成的直接结果是R1没有R3的路由,R3没有R1的路由),除非 -- 对了,路由重发布 你懂的
  • 上面说了,这两个进程都可以为R2的全局路由表贡献路由条目,但是有一点要注意,如果R1及R3都向R2来更新,同一条OSPF的路由呢?R2将会优选谁? 回忆一下我们在单一进程的情况,R2会根据COST来选,如果等价,R2会对这两条路由进行负载均衡对吧?但是这里不一样了,在这个环境中,R2会以“先到先得”的原则,谁的路由先过来,我就优选谁,所以跑的快还是能抢到妹纸的。
 
三,总结
 
  • OSPF ProcessID只是本地有效,用来在本地区分不同的OSPF进程
  • 虽然OSPF ProcessID本地有效,但是我们仍然建议,除非有特殊需求,否则全网使用一致的OSPF进程ID,这将方便网络管理和维护
  • 什么情况下需要用到多OSPF进程呢?这个问题可就大了,一般而言,一台路由器创建一个OSPF进程,可以实现网络的需求,但是在一些特殊的、复杂的环境当中,单一的OSPF进程可能无法满足要求,因此在一台路由器上创建多个OSPF进程,这样一来的直接好处是,这台路由器从原先的屌丝角色--OSPF interArea Router,华丽丽的变成了一台ASBR,它可以在进程之间重发布、可以过滤路由或LSA、可以操控路由、可以做基于route-map的策略、可以做路由汇总等等。

OSPF ProcessID(进程号)详解的更多相关文章

  1. linux进程地址空间详解(转载)

    linux进程地址空间详解(转载) 在前面的<对一个程序在内存中的分析 >中很好的描述了程序在内存中的布局,这里对这个结果做些总结和实验验证.下面以Linux为例(实验结果显示window ...

  2. IIS:连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解

    Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows NT版本的可选 ...

  3. IIS连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解

    IIS:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池的最大工作进程数详解 iis性能指标的各种概念:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池 ...

  4. Linux进程退出详解(do_exit)--Linux进程的管理与调度(十四)

    Linux进程的退出 linux下进程退出的方式 正常退出 从main函数返回return 调用exit 调用_exit 异常退出 调用abort 由信号终止 _exit, exit和_Exit的区别 ...

  5. linux进程控制函数详解

    进程控制 fork函数 创建一个子进程. pid_t fork(void); 失败返回-1:成功返回:① 父进程返回子进程的ID(非负) ②子进程返回 0 pid_t类型表示进程ID,但为了表示-1, ...

  6. linux之进程管理详解

    |-进程管理        进程常用命令        |- w查看当前系统信息        |- ps进程查看命令        |- kill终止进程        |- 一个存放内存中的特殊目 ...

  7. Linux进程管理详解

    何谓进程?进程,就是正在执行的一个程序或命令,每一个进程都是一个运行实体,有自己的地址空间,并占用一定的系统资源.简而言之,进程就是运行中的程序.在Linux中,诸如ls等命令都是进程,只不过某些命令 ...

  8. Linux进程数据结构详解

    1.Linux的进程简介: 支持多线程的操作系统中,进程是资源分配的最小单位,线程是调度的基本单位.Linux是现代的32位或64位的支持多线程的操作系统,不过Linux是一种以轻量级进程作为线程,多 ...

  9. linux ps查看进程命令详解

    http://linux.net527.cn/Linuxwendang/xitongguanliyuan/39094.htmlLinux操作系统PS命令详细解析 要对系统中进程进行监测控制,用 ps ...

  10. Linux-信号详解

    1.Linux支持的所有信号: $ kill -l ) SIGHUP ) SIGINT ) SIGQUIT ) SIGILL ) SIGTRAP ) SIGABRT ) SIGBUS ) SIGFPE ...

随机推荐

  1. 使用MySQL Proxy解决MySQL主从同步延迟

    MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制 是依赖Slave主动向Master发请求来获取数据的, ...

  2. PHP学习笔记02——简易计算器

    <!DOCTYPE html> <html> <head> <title>PHP简易计算器</title> </head> &l ...

  3. POJ 2983 Is the Information Reliable? 信息可靠吗 (差分约束,spfa)

    题意:有n个站排成一列,针对每个站的位置与距离关系,现有多个约束条件,约束条件分两种:(1)确定的.明确说明站a距离站b多少个单位距离.(2)不确定的.只知道a在b的左边至少1个单位距离.  根据已知 ...

  4. JavaScript中Element与Node的区别,children与childNodes的区别

    关于Element跟Node的区别,cilldren跟childNodes的区别很多朋友弄不清楚,本文试图让大家明白这几个概念之间的区别. Node(节点)是DOM层次结构中的任何类型的对象的通用名称 ...

  5. MySQL Database on Azure - 利用PowerShell快速创建使用数据库服务

    如果您的应用需要通过脚本快速创建一个或多个MySQL数据库,MySQL Database on Azure目前开放了对于PowerShell的支持,可以帮助您快速利用自动化脚本进行数据库服务的创建.管 ...

  6. 【自动化测试】Selenium的智能等待

    dr.implicitly_wait(30) --- 智能等待 http://www.cnblogs.com/fnng/p/3214112.html =========== selenium 调用键盘 ...

  7. jad安装

    见:http://www.myexception.cn/eclipse/1469829.html 最开始看了一个坑爹的博客,由于是低级菜鸟一直被误导(设置的是.class的打开方式) 执行完链接够的步 ...

  8. textile

    textile 编辑   Textile是一个人性化的Web文本生成器,以简洁的方式提供HTML标签功能. 目录 1内容 ▪ 短语修饰符 ▪ 块修饰符 ▪ 链接 ▪ 属性 ▪ 排列 ▪ 表格 ▪ 图像 ...

  9. 【转】IPC-消息队列

    一.    概念 消息队列就是一个消息的链表.对消息队列有写权限的进程可以向其中按照一定的规则添加新消息:对消息队列有读权限的进程可以从消息队列中读出消息.消息队列是随内核持续的.下面介绍三个概念: ...

  10. asp.net读取xml方法

    这个适合刚学asp.net的同学,大神直接略过好了,asp.net经常会有很多用到XML的地方,比如全国省市的联动,以及一些菜单读取等等都有xml的影子,直接贴代码,以便我以后用到的时候忘了,注释我写 ...